Content-Type: multipart/related; start=; boundary=----------RHboaftrZ6vISG4cuYMS5S Content-Location: http://localhost/passgen/ Subject: =?utf-8?Q?Password=20generator?= MIME-Version: 1.0 ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline; filename=default.htm Content-Type: text/html; charset=utf-8; name=default.htm Content-ID: Content-Location: http://localhost/passgen/ Content-Transfer-Encoding: 8bit Password generator

About javascript password generator

The functionality is simple. You need only one master password, and the domain name of a website you want to get your new password for, and it will generate you 64 letters long unbreakable hash, which you can use as a password (for funny webs with max password length requirements, there are 40, and 16 letters long versions). If password like this will be again hashed into their database, it is not important if they are salting or not, hash from such password can not be broken (I reserve 10 years long expiration date for this statement :P ).

Of course, when hacker have already got the access to database, you can't do anything about protecting your account from being hacked on this hypothetical website. But you can minimize the damage from such event. Imagine, that he would get to your password, that you are using on every place on the Internet. Pretty awesome situation, isn't it? :) And exactly the damage out of the boundaries of this hypothetical website is the issue that this Password generator is solving.

To generate your password just enter Master password, Domain name, and the password will be generated while you are typing.

Copy button: copy your generated password to clip board

Someone is watching: set input types to password, so everything you will type in will be showed as * (stars)

Master password:

Someone is watching

Domain name:

Your one and only master password. This is your key to regenerate your password for any domain, whenever you want with a same result. Be careful to not mistype it. One wrong letter will generate completely different password.

Requirement: at least 3 characters
Enter the domain you want to generate your password for. Be careful to not mistype it. One wrong letter will generate completely different password.

For future consistency I recommend you to use only “domain.name” format, without www, or http prefixes.

    Your password for :

    40 strings long version:

    16 strings long version:

------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline; filename=favicon.png Content-Type: image/png; name=favicon.png Content-Location: http://localhost/passgen/style/favicon.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA0lJREFUeNpUU02IHEUYfVXd85/Zyay7 7OIms5nNutFVMKJmg2AQMYcF/3IREg+SBPEQTyp41LlHPHsRRDEQQy4uGCPkoKho TEwwmMFodibuZqZndma6p2f6p7qqy68XI1jwnb56r973vlesUqlgcXERcRxDSb0w t6dwprKwc5+KFbTWAJICTDOFm9fvbtRvtF4rT5auNJtNWJYFM2km4EjEC88fOfDl 0VPLyzznQCBErBSUjreJODfAw0OlT05fX/vi0+9eJMzlBGsUi0VMFMvV1ZeeWHv5 5Pyyo2+j61gYuD3Y4x76bh/9YQ9bgz6GooOH91d2QORXf7/29w9SiU2juKNUffX4 4bUXTuxedlkDQ89GKH0wrhGMOKTQkEYI1x9hHHgY6z4eW6lOGKL0zI2r61eMw6sH vjlVe+pRW/0JZ2zDkx40A65d9PDxe3V8e75NCnMozcdwiMQPBUaRjZVDD07+cXVr xdyzVH5EZbsY9Gz4coxQhzD9HC581sDdjQFiU+DS5yHeOLgLHbdNhhkweQZmxsTS /um9ZiSj0A3c7EiM4VEJJZAxY+TLEXq2BZUL8OSuFKS5hZbTBcGRYlnkCgUaSwsu Y4lx6P1bPhnnYGO4jqdPpJDOKEzl8jj2bhW/tbsIwhheqOghqoA2RFsyY9q3L0Iy KEDf68EJSDYUipyBGQwG5/jL6aNpjWitZI5WkFwhiOgWRcTUZFlCMPAGVDYCIWGm DbTXQ9hdIjYitO6EtHAGf6xAlNCUHimTjHFwaCPDDE6SAkQRJ5kaRI5OIyCJMUIl 0WsHoCSRUupJRmCOdCoPzsws/+r8Lx/WL0WYmdoNSQQRNX2adRQIlKbTKM+mIfOU y1hv97UyUJ6YhG6V8OOFm+dYEsfZuftOv1579m2+ZKHeuE3zRSSUYWauAEZyXR3g Tt0j3SZmp6Zxv9qLs+//dGaz0TluJAQj179469dO+aEH9h3cWcli4LgIpIbV8dBq BRi0yG2WIZXTmImqOFf7eRtM0HBbwb2TSaU/eOejI2/x+RGsYReCnCIbkFhVyBWQ 6U3ibO37/8AJ5n8EyefKF3K15155/E2WppmJIPnMjHGkeAqXv66vbTY7J++Bk/OP AAMAY+PNunblBEwAAAAASUVORK5CYII= ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline Content-Type: image/png Content-Location: http://localhost/passgen/style/body-bg.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAEAAAI2CAIAAAAel3XiAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAG5JREFUeNrclcERwCAIBBkbSSnpv6rN N36i4p1mfPByXA6GgxLXXSLiI2i8Z+PFZfK/QsdqDeDNA/payOihkylk4+SNMGlw JjWimpcRL2LyFub5XpUj61f1bvuDBvXO3HUjdt4nd48OqbuOR4ABAHhDOZZf9VkV AAAAAElFTkSuQmCC ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline Content-Type: image/jpeg Content-Location: http://localhost/passgen/style/mainwrapper.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAUAAA/+4ADkFkb2Jl AGTAAAAAAf/bAIQAAgICAgICAgICAgMCAgIDBAMCAgMEBQQEBAQEBQYFBQUFBQUG BgcHCAcHBgkJCgoJCQwMDAwMDAwMDAwMDAwMDAEDAwMFBAUJBgYJDQsJCw0PDg4O Dg8PDAwMDAwPDwwMDAwMDA8MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AA EQgCOgPWAwERAAIRAQMRAf/EAJMAAQEBAQEBAQEAAAAAAAAAAAACAQMEBQYJAQEB AQEBAQAAAAAAAAAAAAAAAQIDBAYQAQEBAAIABAQCBwMLAwUBAAABEQISITFhA0FR kwTSE3GBkVJT0xSxImOhwdHh8TIjM0Nzg7IkBfBCYnKSNBEBAQEAAQQCAQUBAQAA AAAAABEB0VGhAhLwEzEhYXGRA0Hh/9oADAMBAAIRAxEAPwD+Mr7h8eAAAAAAAAAA AAAqRUoADdEdJVZ1c/SI68ck1Yjtx+Fl/SrOsvKW3NzPEMTxuePbfnKi6cpvhfP4 fDwEqLLPHf1kWl5bmTM+KiuHLx8aJrrtnlfNUbxvjN/YGu/hy4+F8V1h+w+zs/pf tvjJ7XD/ANMdPH8OXl+Xp2/H9SsrnKeeNJHWcpfguJHTjZPOefwaxncb/e2XjFT+ XqnL+7Jc8Pi1jnuL/Mycs8/mEZPd/wDx8fmtX1VPd8rZNlE3xOXjdnlfP9qmN9vw tnzvl+sTyduPKySWbMzVY3GXMlkxVVOUnn8lImc+Pn+2FWLnKecnj8RIy8tuZ4Gk OM8fLUR0nGZPBUqeUmSZuC4zPQVmfHBFfq/WB2zwxSK30/WiRUuTyVNXeUyeEnzG Y576DTrx58fjPETc07cd8BJp2nyVYzt8MFhs8ciJFTy+C4a58uU8s8Bcw45PHPFc XW9p5yeRUhOXHw2efkhuam8/96yeNosZ2tlCOksyeEEhy654T9aJjjytuST9CN5j Ly8PKeAsZM+PGUDdvkELznlJ4iRk5bMzCm4rlMm2SeXgm4ma4+5z3PCMt+OI4yXP CEXWcpudf935pq5vVmZy8L4eO/JF/wCK9y/DzueAxjzcu1nj4+tZdMefn4eE8bEd Mc9yePHxvkypLJ5zfmGufOyXM2fNnTMfL/8AlMv2Hvb4T+5/645+f4dfD8vzU9zh 1k4+GeXORlua58ufuZcuwXMxw72/HN8EbhfKSXx+YYm8vDL5/Corn43fHwSKmcvO b+kHbjZeEk22X9ipv5VeUly+HoqO35kuyzPCfrGY5+5zlyT5+NTWsxw58/hJtRrM ee7ajSLv+pGsTRUissCsRQAAAAAAAAAAAAGIAAAAAAAAAAAAK8lRoAAAioC4rLds +KkXx5cp8Ss6rd8ZPEGybPH4eQjZfHP8kUZb8J4fOAiwVUl8KJXScrFRs5eIRc8t lyiP2X2fP/2320vhfyuH/pjp47+jh55+uvZ2mZu35t1iE5Z4fAWOnG/GNJrt2v6V rDv7POcb43Pm1mseeV35c+Nnhf72+bTnmOM5efj+0rq68eeZuXPHFZ3HaSWWTd85 RjdbOuTx25/nVGS2eM8M+Kq6ceW+GyrjO46cs634WfBqM48/a+O1mumYSy/6TFdO OeM7SfJqJrc8PUR0nKfNGY69/D5atZjnefh5jUT2KsO2fH9YkLz9Rcwl34g6SjK5 ZZvw9RE7x+F/agrwk89Uc+dkRcTx5epV3HSc5GqzDZ5pRszzBveSZv6ikTs/YBvr +paOXLlb4WlbzC3fj5eUTRO3M3xBvGcrs3yDY6ceebb5RU3C+5c803U9cc7z8M39 JWsxM5b47KK2858/IpHGe5bfP9TNXcdN3w/zqyueHirOlu2f3vOzPRNMcL57b4T4 MujJc2/H/UDlz58rOLLWZiby5TjdvhUayVv5vl47fgVn1RnL3Jk/3b8EW5jlZ0tl s1GrXLld8Z4MtYnv8IVY487rOtY+X/8AJ3/2XvZfH+7m/wD7xy8/w6eH5fmePzs8 /Osums5e7JM4z5pTMee1G27Pn+oHLldo1hOVzJ5fIIqSZN+PkIvyzx/3fJETeU85 Nv8AnFXx5SXlJ4xakZz5SeXmGOfLlM8kacrYiotRrMcxQUBlmglFAAAAAAAAAAAA AAAAAAAAAAAAV5KjQAAAAbFRUoi4IoRvG55qmqt8t+SiuNku5gms5cfGzf0hms3A bKGr8FRvXVKu8bmz9dTSv1X2nLPt/t/n+Xw/sjfj+HHy/L2TW2FyiOnGz9DSa7y+ CubdUV+ZyzPOLUmK7b455LmqucvitZ134+5fWRWNxX5nj8/0qkJz8LkxSNnPPKKR X5mzy8b8VqRG/EUlRXSc8/0NZqbhec3yz9BSN4+5J4eYbjp3lk8BmJvPfH5C4mcq it7CN0o2XFqOvHlPl5DOs5crvl+oMhvj5Azv5ixF52+opKCpz8PJUipy+f7BNVb8 cBk5W+c/0hrpv7RlF5DWIvKZZJ4ipnKfGIp23x/YCdt2zbnnBf0bLy+R+qbG8uWf 6FMcLz9Ga3Dv4YUibytRWb8r+tUb2+aI6znvhq4yrd9QRysl+XliGHn4Z8fj4Jon lfH4Xr5YjWPNz5b/AJ2XTEbP9JV12nu2cJs8J5fNK5+t15+VvK2zw+Sa6Z+ibL12 +aLXHwnqjbhzusa0+Z/8jy/9n70vjvXP/wCox5/hvwz9X5rx8txh1cuVny/WNRz8 b6oplBlnh5eIVmYLV8b458/iJrN8b4Z88Av967L5eaDLbPL9oqLP9gqf0isqDnUa YKAAAyzQSigAAAAAAAAAAAAAAAAAAAAAKgjQAFAABUaCsRGxReqy3wBvn5iG/IG9 lIwFTaqaufKia9E4+V/arFdbwyeF8Pgupmvvexzz2fZnh/y+P9kM1nc/V6uPuSej VZ3F95atRvfL8lSLnu+UrWanq697+pWY675NYzFdpgL48v1qmuk9z/arML7nitI2 e5q1NxV5/wC1aRvf5+AkdNkmjLneXoreKnOT9IQ7TSh2/aDZ7lgRs9yXwVIuXw0Q 7T/Ugd9CE5eIO3HlPBWNV23ypUTeWFVMuzwKqeVwq4nvSrG95PktSL48ypuLvL0K yvc8SoyW3/SK3n4eOYpjjz5zfgm61jONiYaW25l8Pmq4i3rc3yFVy5/O+PwCOd5W zb+q1FxyvK+XnjNaO+BGd5vz+a4RvfbfjPgVmN341Bf5mcfD4fFakTfdvwuypVjn +Zbdn6Eqxf5l+Gb80SI5c7+z9qVcx5rz3UdMT3z0+aVY2c51zzKjbz4+V8IlP1bf cmYUjhz9yXwk/Szut5jz8uc8sZ3W3zP/AJDx+193fO9f/VHPy/Dp4fl+f62yb4ei N1F45EWud4i08v1giopLoquPWenqIy27b+0E74W/EVNu1FxiCbRUW/6itJARQABA BlgJFAAAAAAAAAASKAAAAKAAAANgjUAGqCgADYI0RoE8QWqK/TRGbQjFVuWiNkBW iN43xVNx6+FVz125c5OOb4ms5j6ns+5/wva+OcOP9iZrW49HH3JWs1jcdPzJKtSN vurUi+POXPFrNTcenhy+HxazWI9E9zJ55nwarMR+ZN8Z+kpFT3J81qRv5mfH9a0j Z7s+JUip7vwmLmp6una2LWYuc56Z8VIv8zy+XzGYW6tWJvLPRKuE5wpq5z4z9K1I y8p8FCWCq/MyZL+oSN77gkVecokTOcRXXjz/AMis7iu+eO+AkZecvj/kDMVOeBHO 8xcxyvMajZy/WDrxs+N/QM62+51+OiR148pZ41WdxXecfL9ASp5c9s8fjMVcx57y my3yRvCc7wlsm/7AlRy922RN1cxHLlc8/Aaw/N8tu34FIqbzmTyPyfhOdL42an4P y53lu4lXGd/1FI3sJHXtMl+PyGYi8/Hxn6UaifzJfCeRViOXKzy8vmyRP5vntKvq jl7u/oTdXMTeefHzSrEdp5IsL7meG+XkVY5X3fjPNmrE/m+Nk8ir6l5zPWpukcuX uSTWd1rMfP8Avfc37b3M8v7v/qjHlrp45+r5EssVdbeEkt8/kJXC5JfnUbcLfHxR qIvj8UaxO4K3t6iQ7eqELf8AWom2ixm1FQigJorBQABBiADKowUAAATQAAAABgAA AANUAAAIUUiAACgADZBFKgACpFFSYIAKNwRUEP8A60G4DZ4Kjtw5KzuOnLx403Wc fQ9rlnt+3N8uM/sYa12nP1XGddZz9WmV9vVcRfHmqbj0cPcazWdx17+v6Gkie/j5 lSK735rUipzt8L+pam4rbPHyVCc/VTcd5z8PC+PzXGdxf5lvx8fmJG8ed8Jv6lqR c9zfT5qkTedStRnZSM/NwI6TnsqpGd/P5lI2c9WkX3+Ev6hInl7nw0Ij8z1xFi57 lnxKm46z3bfMrML7n7fkUjfzPUpEX3N3x8IVYnuDe/qtIv8AM3458kqRvf1KRU9y zxl8fgtIr83ZfH9a1I5X3Lb48kazGd5vn8sUjr38M/y3wVInlyzys2eWJq5jz33G a1GTlL4z9YPVPezjJ8J5NVmOPPnbfl8mdXMTvx3xRU9p8LqDJy/yFI2e5nhb4Xyk 8ypEcvcvluSo1mOfLnOMmeaVcxx/O5W528PVGom87UWMnO/NFjb7nyCM/M9f1pVi PzN34fOpViLy2+Hw+KauY48/cs8vD1StZjned+drKxN9zwttqVY8f3fudvZ5z55/ bGd1vxz9XzZczWs0127+Hz9VZjz87/kZrWPPUdGaUATZgrBTUG7L6FRNFTUVgAqb 4IMFAAEAAErVAAAAYgAAAAIAAABgKAAAKRGgAKAANkBSoAA2KikQUFFSYI0FTxEb ggoqRUqp4Caq3ww1Mx6/a53pw/8A1n9jnWtx348lqRc5NZqR071akVx51c1Nx1nu XWqzHee58Gs1mM76VIuc/wD61U3G9v1rUb+ZatSN/M9FpHbj7mrU3Hbjy8fP9LTG q7fL9aUipfXVEXld/sFh+b8KVIzts+e/Aome5ZVqx07/AKhI6ds+KoS2f6QRy53f T5m6sT28cKRs5f7QbOVnhBD8zl5IQ/MoRn5tCH5l+IsPzeQkJ7lgR0nuW+KpG3nZ /nCH5nLP0eakT+Z+ypVhOfL4FIqe5dWkOXO/s/aGOV53GasbOeeRSHe/PSkV239H zWoXmhEznbfkil53y+ARPK/tqGOfa3wpVc+fPwzzRrMcbysqVW95nmlIi8/9qVqM 775pVjO+foSkZefnUqxPe4lWPPy9zb8ma1mJvL9VSrHO82a1mPJ9xyt9vlP0f2pW sx5p8HRhtvgGOXK1G8c0VmIrAATnxFSKINuAiisRQAE1FYAAAgAyglVAAAE0AAAA AAAAFAAAGxBQgAoAAeYLVAAGyKikQUbiihAGyCKEao2QRqipPmqVt8jUxxn3Hvzw nuySeEn5ft3+3ha82+W9e2cO/p49O+8us+5+4/jT6ftfgX38uvbOE3w8enfeXSfc /cfxp9P2vwNZ5+XXtnDPp49O+8q/qvuP40+n7X4D38uvbOGfr8enfeVcfuvuP40+ l7X4F9/Lr2zg3/Px6d95dJ939x/Gn0va/A17+XXtnDP1+PTvvLpPu/uJ4/nT6Xtf gXPPy69s4T6/Hp33lX9X7/8AGn0va/Ae/l17Zwn1+PTvvLpx+7+4/jT6ftfgX38u vbOE+vx6d95X/Vfcfxp9L2vwNe/l17ZwfX49O+8tv3P3E/60+l7X4F9/Lr2zhPr8 enfeSfdfcX/rSf8Ai9n8B7+XXtnBv+fj077y9HD7r35P+dL/AOL2vwNZ5+XXtnDG /wCfj077y6T7r7jf+dM+X5XtfgX38uvbOE+vx6d95dP6r37/ANafS9r8C+/l17Zw z9fj077yT7r7j+PPX/he1+A9/Lr2zg+vx6d95Rfu/uP40+l7P4D38uvbOF+vx6d9 5R/Vfc74e9Ppez+BPfy69s4X6/Hp33lv9T9z8Pfn0vZ/Avv5de2cJ9fj077y2fc/ c3z96fS9n8C55eXXtnB9fj077yr+q+4n/Xl/8Xs/gX38uvbOE+vx6d95Xx+6+4s/ /wBE+l7P4F9/Lr2zhN/z8enfeW/1X3Mv/Pny/wCV7P4D38uvbOD6/Hp33ll+6+48 f+PPpez+BPfy69s4Pr8enfeUX7r7nf8AnT6Xs/gPfy69s4X6/Hp33lv9T9zPL3p9 L2fwHt5de2cH1+PTvvJ/V/c/x59L2f5Z7+XXtnCfX49O+8s/q/uv4/HP+z7P8s9/ Lr2zhfr8enfeUX7v7r+Px+j7P8tPfy69s4Pr8enfeS/dfdeGe/Po+z/LX38uvbOD 6/Hp38uWz7r7r+NPo+z/ACz28uvbOD6/Hp33ln9X91/Hn0fZ/lnv5de2cH1+PTvv Kv6v7n+NPpez/LPfy69s4Pr8enfeV8fu/ur/ANbj9L2f5a55+XXtnCfX49O+8uv9 V9xkv503/tez+Bffy69s4T6/Hp33lzv3X3U/60+l7P4E9/Lr2zhfr8enfeWT7n7m /wDWmf8Aa9n8B7+XXtnC/X49O+8n9T91/GmfP8r2fwJ7eXXtnCfX49O+8s/q/uf4 8+l7P4D38uvbOF+vx6d95P6v7q/9eZ/2vZ/Ae/l17ZwfX49O+8sv3X3H8eb/ANr2 f5Z7+XXtnBn+fj077yz+r+58vz59L2f5Z7+XXtnC/X49O+8k+7+58r78+l7P4D38 uvbOE+vx6d95bPu/uZ5e/L/4vZ/Anv5de2cH1+PTvvLL9391v/Onh/he1+BPfy69 s4X6/Hp33lXH7n7jz/On0vZ/Ae/l17Zwm/5+PTvvK7939xPL3pf/AB+1+Bffy69s 4T6/Hp33lF+7+4yf8aZ/2va/Az7+XXtnC/X49O+8uf8AVfcfH3p9L2fwHv5de2cN fX49O+8svv8Av+N/OnpPyvZ/Ae3l17Zwvp49O+8uHL7v7icb/wAaev8AwvZ/Az7+ XXtnDWf5+PTvvLh/V/c7/wA6fS9n8DPv5de2cNfV49O+8n9X9x/Hn0va/Anv5de2 cH1+PTvvLL919xP+tPpe1+BPfy69s4Pr8enfeU/1X3H8afS9r8B7+XXtnC/X49O+ 8sv3f3E8Pzpv/a9r8Ce/l17ZwZ/n49O+8ud+7+4/jSf+L2vwJvn5de2cNfX49O+8 uV+6+4/iz6XtfgT38uvbOFz/AD8enfeUX7r7j+NPp+1+Bn38uvbOGs/z8enfeUX7 n7j+NPp+1+BPfy69s4X08enfeXPl7/u8/wC7y9ycuN8509vj/l48ZTPLd389s4Xf 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 RqjcRGgAAAAAAAAzAYqsQEABBNVWCiCaKxBlRcSKmoYmoqTWkJqoqKm+aKiouIrL WIqLjnfNGkVGnO/FlrHOo1iKyuOd+KNY51nWnOo1jnWWnK+SNIrLWOd80ac78WdV zvky051GsRfNNaxzvmiprLWIqLiKi4moqKjSTVZfJBCaqb5isRQE3zFYmggyquMA ABmpimgaCpRDUG6qNlU1WiGqNlEVq4K0ZatF6uIvRlUrSauVU1cqpq4rOrjSauKz rpFZdJWsZ10is66RrE10is66RpnXSNMukXGXSNM66RcZ10jTOukVnXSKmrjTOukV lcVFxplUVNXFTVxUUrKxFRUauChlqioqNAUUiNXEAAFFQRoAABQKBQKAAAAMoJFE AA0ZUVKqIMoJRWVFSarKghFSaqKmtJqKiouJrK4io1jnUXEVGsc6y1iKi45VG8RW dXHOstOdTWnOstY51Gsc6y1jlU1rEVlrHOpqudZac6jWOdZaxFRcRajWJtRcc7Ua xNrKpSqg3VZb4IJ1NaTb4is1A0E2+IrNTRmorLVMZopoGghM1WrQKNiVGlBaKi1N aVAoqKa0Ra1lUKmtXNFrWVRo1cKzq40muk8lrK4tRcaZdYtZ1cVnXSNMukXGXWNM 66TyaZdJ5rWXSNVnXTi0muk81xnXSKzrpGmddJ8FZ1c81ZdI0i4rOriouKzqo0i1 xFiNipqlRaoKixGxRQgoAqCa0QABqhAUIAAAAAAAAmqrE0EAAE0XGCgCCBRBAoio RU1FZUVCaqDVTWVxzqNIqKio0is6rnfijWOdStYistY51NacqlaxzrNaxzvxZaxz qNY51ndaxzvxZ1rHOouOdZaxz5fFK1jnWWkVK1jnUq4istYipVxFRrEpVQm6rKlX E3yKqEVN8xWJQKJvmVWJuqJRlWmMKoUCjEwAAVBGoCjYqaoQBsaNUIsRUVNaYi1R UaTVxWdXFTXSeSsrioueTTLpPgrOukaZ10is66T4NI6RrGddIrOuk+Cs66RpnXTi 0zrrFxl0jTOris66T4NM66RUXGsZXFRcXGXSKzqlRaoqeSoqKilRU8hGrgqCNVFi Cgo0RSIKACgDdBuiNAAAABmgzRWAIAACKlVYAgyoJFZUVJqsqGJFQisqLiKipRUV GkJqoTWkM6rmjTnUaxzrLWIqLjmzrTlWWsRUaxzrLWOdRrHOs61jlfJNac6y1iKi 45X4st4iouOdZaxFRcRU1rEVlcRRrE3yZVCaqai4m+QqRU3zRWIAJvmKxNUQZVMS KAAzUxYaENCNlEjdCGqkVKG43RI2VRUVG6EVKrMVKJuN0wi5Wki5VxlUqpuLlXE3 HSVcZ3FytJuOkqsrlaZ11lVnVyqzrpK0y6StM668a1jOukq4zrpK0zrpKqa6StYw 6Sqm46StYzq5Vxl01rGY6Sqi5VxlcqouVWVyqipVRcrSNgi5VRUqopUaI2URUqjZ RGqANVG6ENBpUAAFBBu0DaBtBgCggAFGaKaEYDEUBlqCRWWorAYKm1FRaiptRU2o qbUVNqarnaiotRpFqKi1GkWprUc7WVc7U1rHO1lrEWstOVqNY52stY52prTnazrW Odqa1jnay1jnayuOdqNY52o1jnay0i1GsxztZXMRb4prWYi1FzEWprWJt8EWI1lY y0WJt8EWJ0WJqDNRWaETb4ixmpqw0Iy0IzRYaENCJTNUWoFFQprUqC5o2ea0UVAo tayLRU8ioqLUUIqeSoueS1FxpNVPNUdIuazq4tZ10i1HSVrNZdIuazrpGmdXL5NZ rLrFZ10jTOujWay6RazrpFZ10laZ10jWI6RazrpFrK40yuVajorK2kXKrK4uItWV RUVKqKVFQRUqilQEVKI1RsoKVAABRohoN0G6IFAAAAoaDNFZoAMFEoAAm1FYDLUV IAqbUVNqCRpNRU2oIRpKaqLUVzRpDKotStYiprWOdZq451K1iKzrTnajWOdZaxzt SrjnWd1pyqNY534s6051mtY51Gsc6y1jnUrTnfJmtYi+aVrEVKuOdRpFRU1lcRUr WJQTSqmpVxJVEohK0FE3zKrE3QSiatVhQKBVEwAAbBGojVwJ5qLEAWqCoqBqoqKV FQTVxpnVRUUqOk81Z1c81R0is66Rpl04tYzrpFZ1caTXSfBrGddYrOukXGVxrGdd Y0zrpFZ10jWMrl+Ko6RWddI0zq4qauVpnVxWdXFTXSVWVSqmqlVFqipVRsqosRsq ihBRuiKVAG6EbojVAoFBQABogADBQABKBQQZsBmixgGgnUVhVYgy0VNqCUVNorEV FRU2oqLUaxFqLiKjWItZXHOo0ioqLWWsc6jWOdZ1XOo1jnazrWOdTWsRWWscr8U1 pzrOtY51lrHOo1jnyZaxzqLiKy1jnUaRUac0VNRUVlcRUaxhqpqKiouMBjKpFAQK JoxBlVWCgAITFaoAREUAuDdEUqAL0QUVKqaqVUUYipVTVyqmris6qKi5WsR0gzq5 WmddJVxl0laR0lVnXSVpnVyqy6ytYzrpK0zrpKuMukrTOukqprpK0zrpKrOrlaxl 0lVlcqprpK0zq5VZXKqLlVFSqi5VZVKqLVGyqKlEbKqK0RuqN0RqhojdCN1RogDd A1Q0DQjdEhoQ0IzRYaBoGoMA0GaKzUGaAKzUGaKzUE6Km1FZoqdQTaio1Gk2oqbU VztRU2o052ouItZaxztRpFqarnay1jnajWOdrLTnyqNYi1lXK1Gsc7WdaxztZaxz tRrHO1lrHO1GkWstY52o1jnayqNTWkVFRU1cRajSLfFFYmqk1UW+KKxFZb4IJFNB CKJqgJvmoCgMQEwFAGzzBqIGDVFKy0FTyEao2eaopcRQip5qKisukXNTVLiLXNZX Pg0mukXGXSKzq41WddJVTXSNVl0jTOukWs6uVrNZdZVZ10laZ10i4yuVpNdJVZ10 larOrlVNdJVZXK1msukqouVWVyqilZVKoqVUXKtZVKI1aN1UiijdVI3So3Vo3RI3 SjSgo3RDQjdCGhDQNBuiM0U0DQhoRmhDaDBRKM0GaEZpVZqUZqLGFVOhGJVZagi0 aTaiptRUpVRaiotRUWo0i1ndVFqNOdqNYi1mrjnajWOdqa1jnWdac7UaxFrK45Ws 1vHOpVxzrLWItZrTlUaxFStY51lcc01pFRrEVndVCVpFTdVCKhGmVBJqoqNCCai4 wGXyFSisQASqgACDNgpsENgGwFbBG7ANiipZgjdgNlipqti4jQVsXEVLFRuxUXsM SLlipF7FZVLFSOkrTOr1UdJY0zFyqzrpK0muksVmOkrWMx0lVlcqs66ca0zuOkrW ay6SxU3HSVpnXSVWdx0laxmLlXEXK0zHSUZ3FytJFyqzFSqkXOSpF7FRsqpFSqit EipyVIrYI2VRuiRuxRuiRuhG7FqN31CN0IaJG6pDYBsA2AbANgGwDYBsA2AaEZqE NFjNBmwqxmoRloRmwVmoROimxBN5CxNqLE6Km1FTsRYm1FiLUWJtRqOdqLEWstZi LUWOdqa1EWs61HO1FzEWo1jnbGWsxztZ3WnO1NazHO1lcc7U1qOdsZ1qItiNZjla zrWItiK52o1EWstOdqNYi2MrmJ2IsRbEaRbEWI2IrLYKnYioRTYmibYLjNiKy2YG J2CmxBmwE7BTYBsA2CpRRUAAUiANaFQTWg2CapcRsBS4jY0mqEVFRcVNXFxlcVNX FxNdIrK41jK5VTXSLjLpG2dXFTXSVcZdZWmdXKrLpKrLpK1jLpK0zq5VR0lVlcrT LpKqLlVlcqouVplcq1FSqipVqLlVFSiK1UbqorRG6o3RFapG6I3QNVI3QjdKGlRu hDVIaEboQ0IaENCGhGaENCGoRmlDSqzQjNQjNFZoM0WM1KM0VmoJ0VlqKm1FRaLE 2pVTaiptZqotGkWsqi1Fc7UaRajSLWVxztTWnO1Gsc7WdaRayuOVqNItZaxztTWs c6jTnWWkWs6rnajWOdTWsRWVRUaxzqKmo1iKi4ioqUVNFxjOqmorARfNFBU0MYis QASqgACKxKNWgUCiioJUa1RsKa0qNKKWo2KihGxqiysti0XFrOri1NUtR0lWsri1 NXGqzq5Vqa6Sqy6StZrK5Ws1HSVWddJVrOukrWay6SqzrpK0yuVajpK1WVyrWddJ VzUXK1WYuVakXKrK5VqKlWpFyrWYrVqKlWoqVaRUozFatG6tSK0qRuqN0qRurRul RuhDQjdi1Ib6lG6BtBuhDSkNKkNKQ0pDSrDQjNoGgzShpSM1FhoRmlGalWM0pGaK zUpE6lVmlVNqLE6VYm1KqbUom1K1EWpVibUqotRUWpWo52pViLWd1pztStYi1mrj nam60i1lpztRrEWs7quVqVpFqNY52s7rTnam6uItZaxztStIrK4ipWsc7UrSEqpv mlVzqbrSalViVUJVYgmisSqhKoUTfMqsSglGXyWqwqhQKMSggNAACpURoGqNl8RF KgCtEbqi9ismrguVUbKIrVxF6qL2LjKpVR0lXE3HTWmVSqjpKrO46SqyuVpNXK0z rpKrLpKrO46StI6SrjOrlaZ1cqpuOkrTK5VZ3FyrUXKrMXK0kXKqRcozFSqkVKtS L1UVqpG6tSK0pGy+q1IrVSN0o3sqRuhG6VG76hDVpG6VI3SkNhQ31KN31WkN9RIb 6hDfUIb6hDfUIb6pVjN9ShsKRmlIaUjOxVhvqhGbCjOwsZ29UIzSqzshE2lWM1Ks TpVTahE6lVNqVYm1FibUWItRqItRYi1Goi1FiLUazEWsrHO1GsRai452stZjnajS LWVzHO1Gsc7UaRay052sqi1Gsc7YjSNiKi1nWsc7UaxNqaqLUVGoqU1pNvgCdZ1T QRqNMt8EEigI1FNNUQZaCVUAAZECtUAAbBGoC4NUUMgKga1cRc8lRqo2KaqeYi1R UVNXFZVFRcVnXSNJq4rOrio6StM6uVWXSVU10laxnVyqzq5VTXSVcZdJWmVytIuV WVyqi5VrMdJWki5VZipVSLlVFSrUipVSLlGYqVUitVI2UFaqRulI3VqRurSN0qRu +oN1UhoRuhDt6iRvYpDstI3SkNCGhDQhoQ0IaUjOwQ7eqUjO3qENFjNCM0Ib6osZ pSM0qxmpSJ1KsZoRmorNKsRaixNqLE2lWJtSrE2oqLUWItRYi1lqItSrEWo0i1lU Wo052oqLWWnO1GkWornamtItZaxztRpztRcRWWsc6jSKi4istOdRU1FxFRrGIqEV NFxiCai4lNVlRcSBRUisTQQZVVgAAMQEoLRq0ChCikqBQWiotTWiNgKWo2LU1RRs q1FrUVKVGyrUXK1UWVFSrms66StItayuVamrlXNZdJWqzq5VqOkq1lcrVRcq1l0l Ws7jpK1mouVayuVai5VrMXKtSLlaqRUq1mLlWpFyrUipVrMVKtFSrUit/WtSKnIq RWlSNnL1WpFatI3SpG6UjdWpDSkbvqtSN0pDSkb2KQ1akNKRuwpDYUhpSHb1KQ0p DYUhsKRmlIaUhqVYzSkN9SkZvqVYzUpDSkZqVYzSkZpViby9UpE6lWMvIqxNv6ir E2pVibUqptSrEWpVibUqxFqVYi1K1EWs1Yi1K1EWpVRalVFrNac7UrWYi1KqLUrW ItZq452pWnO1K1iLWaqLUaxGpVc7UaRazWsSlVFpVQyrLUqoKqU3VYlVN8yqxmia KwGUq4lKolAomrVCgUYm6CUADAUAAWiACjYqaoBUUiNaFiC4KioqCKVFSqi4rKoq OkrSauDOrlaxFyqzq5VxNdJVxlcrSauVWVyrjLpK0i5VZ3FyrUXKrK5VRcqpFStV IuVWYuVUipVSLlVIqVUitKkVq1G6tSNlVIrQjexUiuy1I3Skb29VSN7BG6Uhq1I3 SkN9SkbpSGlSGlIaUjdWkNKQ1KRmlIaUhpSGlWM31KRmlIalIaLGdgjO3qEZqVYz sVYnslIzRYnUWM0pE6lWMtSrE6LEWosTalWItRYm1KsRalaiLWViLUWJtRpFqVXO 1GsxFqKi1lpFrKudo0i1lcRamtItRXO1nWk1Fc7U1pCNJqCKjWJRU1FTRcSypQQi soJFEVN8xWICACFUAATQBOimmBqhoGgqVEjdA1cDapF6JDVRUoRumIqVU3G6CpVq N2qi5VqRUqouVam4rRIqVWY6a1UipyVI6SrWYvVZi5VqRU5NVI6S1WYuclSLlXNZ i5yaqRc5LWYuclqRc5LUipyVmLnJakVOS1IuclqRU5LUi5yWpFTktZipyWpFdikb OS1IrstSN7FIrstSHYqRXYpG9lSHb1KRvYpG9lqRvYpDsUh2KRvb1KkO3qtIdr8y kO1+ZSHa/MpDtfmUh2vzKQ7epSHb1SkZ2KsOxSHYpGdqUjOyVYzt6lIdgjOyVYns UjOxVjOyVYzsUibySrE9kqxnYqxN5JSIvJK1E3klWJvJKsReSVYm8kqxF5IsReSV qIvJFiLyStRN5JViLWasc7yRqJtqLHO8krURazViNRqItSrEXkjURalWItZWI1K1 E2lXMTaiotSrE6istSqnUVNoZjNTVTaLGaaGosRopqaGoMtUidFNA0DUDQYigNaA AGxEaIAKKgjVGqKRGqilRsE1SjYqLioqGItWVSqmrlVNVK0i5Rl0laTVSqi5VZXK tSLlaZXKJFyrUVK0yuVakXKqRcq1IqVazFyqkVKqRWqkVKqRUpUipyVIqclqRWrU jdKRurUiuxSN7LUjdKRvZUh2KRvYqRulIdlpG9vUpDsJG9ikOxSHYpG6UhpSGlIz sUh2KQ7FIzsEO3qVYzsUhqUjOxVjOxSHYIzUqxnYInslWM0pGalWM1KsTeRSJvJF ibUqxNosTaixNqLEWosTalWIvJGoi1FibUqxFqNJtZqotRYi0aRazViLUVFRpFqa uItZaQKm1lUWo0moIqNJFRUViaqaisBCKIqVViDKi4kBABNFFUABjIAAALQABsEU iADVGygoQWioI0zUVKprRFyrUFFSrUXKMqlWopUXKtRcq1FStIuUrK5WqipVqLlW oqVazFyrUXKtSLlWsxUq1IuVakVKtSKnJakXOS1mKlWpFSrUitWpFSlSKnJaRXZa kb2KkV2Wkb2Kkb2WpG9ikbvqtSN31KRulSHZaRvYpDsUje3qUh2Kkb2WkOxSHYpD SkNKQ0pDsUh2KQ7FIzslIdvUqxnYpDsUjOxSGpSM31KsZpSM7JVjOxSM7JViexVj OyUieyVYzsVYm1KsTqVYm0qxNqUibyStRF5JVibUqxFqVYm1KsTalWOdqVqJtSrE WpViLWa0m0qptZqudqNItFTazVRalVKVU2pVRajSbUqpKrLUolFZaLiUqsoJKogk ViUEAEq0wAAoIACAAuAAACkQBq4CoqCNUAUI1UWIQFqgotWVSqi5VRqouVUXKZqK laRUqsrlEi5WkVKqKlVIuVWYqVai5VSLlWorVSKlVIqUSKnJakVOS1IqVUitKkVO S1I3stSK7LSN0qRvZSN7FSN0pG9lqRvb1KRvZakb2KQ7FI3sVIdlpG9ikOxSHaFI aUhpSGlIaUhpSHaFIdikOxSM7JSHYpGdirDsUjOyUjO3qVYzsUjNSrGdikZ2KsZq Uie3qVYzUqxl5JSJ1KsTaLE3klWJtSrEWosZaLEWosTalWJtRYi1KqbWWoi0VNqK jWVTaixFo0i1FTayqLUVIqbWVTaiptFQjQghFZQSNMQSKIMoqQE1WIFUSKAAGggA nRYaENXCGhDQhoRUokbokNCGqRs5BFaJDVIqchI3RI2clIrVSKnISN1UjZyCL1pI qUSLnJUipVSK1UipyVIqclZipyqpFzkqRU5CRU5NVIuclSKnISL7LUipyWpFTlVq RU5LUiuy1mKnJaRU5CRU5LUipyq1IrsJG9qtSN7BG9lqRXalI3stSN7LSN7CRvYp DsUjey1IdqUh2pSN7FIdgjexUh2Uh2KQ7FIdikOxSHYpDsEZ2SkOwsO1KRnalIdq Uh2SkZ2KsOxSM7BE9kqxnYpDtUqxPYpGdkWM7FWJ7IRl5JVibyKsT2RYm8kqxN5F WJvJKsTeVSrE3klWJ7JViLyRYi8kWJvJKsTeSLE3kixHaixN5JWom8kWJ1FiLUWJ vJFibyRYjUWJvLUWM0Im8kWM0WJvJFjNQibyFjNFhqETeQsZoQ1CGhE2ixmiw0Ia ENQhoQ0IxAAUFAAAFogAuACoqNEFFIjVFSqjVRUEaoqURUqopUVKqLlEauaipVRc q1IpUVKqRWiRUq1FStVIuUSKlVIqVaitVIrSpGzktSK1akVKtIrsVIrsqRulSN7L SK1akNKRvb1EjdWkbpUjexSHb1Wkb2KkOxSN7FIdikb2KQ7LUh2KRvYpDsUh2KQ7 FIdikZ2KQ7FIdkqxnYpDsUjOxSHb1KsZ29SkOyUjNKRmlWM7eqEZpVhqUie3qVYz UpE9hYzslWJtKsTeSUibySrE2pVidFjLUqptRYi1FibUqxNqVU2osRaLGIqbUqot RUpuqm1FTaiptFSiotRpiDLRUgy1FSisqCVUQZUVIomgDASqgAADIAAAAAKCgACo iNAAUbAUrIDYopEFFxUaqKEFFSiKlVFKipRFSqilqNlUXKqKlWo3VRcokbqpFSlR UrVSKlEi5VSNlKkVq1I3VIrSpG9lqRXZaRulSK1akb2KRvZUjewRvYqQ7LSN7epS N7FSGlI3VpDSkOxSN7FIdvUqQ7epSHb1CHb1CHb1CHb1CHb1CHb1KQ7epSHYqxnY pDSkNKRmpSHYpGdvUqxnYpDslIzsLGdgjOyVYnSkZqVYzsVYnslIzUqxOixmpVid SkTaLE2osTalWJtSqnUWJtFidFZalVFrKptFZqUTaiptRU6KlFRaisFYgkVluIqU UQSqsQBUIoAgAmisUAAE0EAAAoFAoGaC0CgUCikqBRq0Fo2UqKKC1GygoqGrRZUN WorSo1aNlKkVq0VKtRUpUipVqKlWo3VqKlKkVKtSK1aN1akVKVIrVqRWrUb2WkVO RUipyWpFdipG6tSK1aRulSN31WkbpUjey0jexUjexSN7FSHZaRvYpDsVI3sexDsU jey0h2KRvYqQ7FIdikOxSHYpDsUh2KQ7FIdikOxSM7FIdirDsUjOxSHZPYjOxVh2 KRnYpGdkpDsVYzsUjOxVjNSkZvqVYnslIzUqxmlIzslWJvIqxN5JViexVjLUonUq xNqVYnSqzUqptSkTalaidKMtSrE2pVTalVNpVTqVU2pVjCjNSidKrNSqnSqJRNor CglVNpRhVEoxKBRK1QoFAoJQKBQKMRQAAGqgAADYDRAGqAKlEFGqjZUGiNlxRSo1 UUg1UbKClRsqopUVKIqVUilG6I3VRUq1IrVo3RFSrUjdVIrQbpUb2WkV2VI3sJFd lqRulI3SpG76rSN0pDVqRulIb6hG76hDVqRuhDSkb2CHYIdhIdgh2CN7eoQ7BDsE OwQ7epSM7BDsEOwQ7Cw7BGaUhoRmlIb6osZvqUhpSM0pDUqxm+pSM1KsZpSM7FWJ 1CM7JVidKsZqUZoqdQidKsZqKzSqm1mrE6CdRWaKy1KJtRYkVNqKnUVNuooDNRUq MRU2orEGWisUYyrLQYKxAABlFYAAADEUAABmqGgaBoGmBqhoGgaEVqJG6BoGqG0I vVZhoQ1RU5ESN0I2crFIrRI3aqRvYSN1SN2hGzkJFdqqRXZUje1CKnJUiuypG6JG 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 ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline Content-Type: image/png Content-Location: http://localhost/passgen/style/icon-questionmark.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABQJJREFUeNp0VVtsFGUU/v6Zf3Z29tIt 223pjVJauYjlIjblJmkgDQIlxGjUmGh8ghBCFGOIL8YnE1944kFRjG8EgjwokWgg xGgMkIAJ3rmUW0kpsG13u7uzMzv/zPyemd0C2+CZTHbn/89/5jvfd84Z1vv2pwhM YQCjy3EA6bnwUQ4We+d2dg82dMwdiDY2zPelVFzbyU7duP63XXJ+zj3InkOpD7Hm MfC4C0VGEeVJSLo4ZpknXGhGpH/p+hc+bFu+dKvelI5LzuFLRu6BSfRgEJX8NMYu /3n61pnsAc+pnOFxtS5OXWBhO0h3tr7V/8aWr7RMs27aApYpgh3Kpd4UTUfXi+s2 ty7Lb75xVjuUvfLPB4zL8sy+ml4xVEVKHGR6uvb3v7n9cyuS4MWiBV94kL6E50kI t/rr03O45vpwCIjUImhZsrAfjK0vjo6f1BXDVig7talvEwUQaJzXvmv5q9sOFj0N FbMCigCXDpuWgzgxnlIkotIjDVwUKx6Cw9LzibrqWqprXjeE9+ydwq1j0ykBLl0P RjI5tGR46IspU8J1TNKMgcDBkAJ7F6cw0JpEQlNDjqeInu9v5fDtqAlN00KKgnVh CaT7ntthPBjZlZsY/5IjJtXWgRWfWH4EVoGCUnl45FihyO0xieGepjpuY/SC3cvb IJwxnLhths81VeHrGrp7V36s3M4f50ZLbG28pWN1MVugt/th0KDsXEqTRTjGCxZO Xp3AvxMWtvSmsWVRJgyysSuFE1dycFwFTD4WX0tnOoyW9CtcibfvcEh4YdrEf73y 41MO9nx3BaOmT69kuHq/iMEFjTA0Dh7QRYEoxUcVI6uwoTe3vMyTRuNqq1CGSyLN DjxJntQUiBI9JeJ27YIMdF6t17/G8igXbcQi9fUrScxIIrWC+4ra5RG3vuvWtlhd zQYoyiTwzjWd2DO4MBT2j7s5HDx7HQodETPHajIypoBrPMmpXCJSVuB7Hp5mFeGj ry2BvRsXhc8Xb2ax/5vLyFs+oa8KXW8ETFEl9x1nSkJpl/8T2LFd9Hd1hv9HJ0t4 /8hF5CwPUU2h+p8ptifjKiEd3LXMO2ok0ieFeJTO49TIXAGDkOWpaS5ce4CH+TIS VFaSMqn61klHra4hAMvdcvEnVUsOh4EZm+UM6MzHsV+v4bcbDzE6UYRO9SFd8dTs JHWrFuWwis45XrHKRyKG9RH1f2PQxngitqSKCP6/u/V5bF45HyP3prHv658xVbLB qcxmgQ2BERMQpewhRfPlfWHmDwfz2CckkqojmMeS5HbpjhENQ8vmocGIYFVvMzoa oxCVmh/t+8HtuuG8UVQFbqnwIzx2Xm1c9RING3GJa5HXSeI5gVMVKbUETbGyXYHt eGhvSuCHSzdx8vz16l7NJ7il7wXpIdqQEKXC2Gtg7kO2+J0DNTGV9XpizmnfcWN+ 4MjYI1aCKWfoHGVCyglVUMszSoQgyOItc2GbuYOl6ex7jNJXM8+sQ/A9ko5719PV 37nKN9ByKkzVr6JWgjlATaKyGq1ShiiDsanpBvRUyhN24XC5MLmPAIVCKWElsCrx HvNPVUR+jWNmT/GoQR2k1wLQF8QTYTX4wgn55TyKeKaN+C1eLN0f2WRPT+ymxnCf +mkKu4Yp9+7+cnw7j0a3NfVt2BnP9Awwpkarogc4yIfmRcWcHBk7ffSz/NULR7uH 9ziRdHuYyYz9J8AAjeOWLetKdTIAAAAASUVORK5CYII= ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline Content-Type: image/png Content-Location: http://localhost/passgen/style/mini-arrow.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAcAAAAKCAYAAAB4zEQNAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMJJREFUeNpi+P//PwNrgoU1s70qE4iN jJkYgEDI07Cc2UVjA4urJisDEgBLfvjw8aOYhoIvi5PaTlYfXV4USYbff9lev3zF wCjC48hkrrCH1UtHAiTMAiL+v/3CCKaBmJGV2YxJX/oUkCkHkXz/HckiRob/v/6w wXUyfP8Fch5Qgonh/59/F/7dfuWLJPn7FwMjUMfvXweBCn3/HLj1GSH5/7/A/++/ tzF8+Rn0e9uVn3ArwJ7VlLBldlZnRg8EgAADAKE+XoeOT7exAAAAAElFTkSuQmCC ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline Content-Type: image/png Content-Location: http://localhost/passgen/style/op-bg-dark.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABhJREFUeNpiYWBg2MyABpgYsAAKBQEC DABKUADARaJ7HwAAAABJRU5ErkJggg== ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline Content-Type: image/png Content-Location: http://localhost/passgen/style/about.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAQAAAEBCAIAAADQKZMuAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALdJREFUeNrsk0sOwkAMQ50MF+UKLHp0 uoUNGnsko9APCGm6e3I+jtvGcrvi9VzW+9rh+XSIjA4Z+bmSrIRTkpU4T2nWzuC6 cRl4QDsyHVaycRnCKHqczyBLPcPoPPA42aO52e8AnLWmU3s/YXskHY1XXdsB7Bpy Qvg9qPwLPwKXmy+TsyXEd6M5ty09bmkCqAxg0J7BDio91ttQRuAH7FaKUBywZc9u byfe8zd7JkyYMGHC9+EhwACGNQiulPvROwAAAABJRU5ErkJggg== ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline Content-Type: image/png Content-Location: http://localhost/passgen/style/button-generate.png Content-Transfer-Encoding: Base64 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 AAAAAElFTkSuQmCC ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline Content-Type: image/png Content-Location: http://localhost/passgen/style/icon-eye.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA1VJREFUeNqkU11oHFUUPvdn7uzszv6l m+3P7kZb00j1yU0I2s2LqOhCUmhEEPqgD0XQahFBabSt5EmLWLT4VDG+6aOKqGAM 9Sc2LVoTq9RCaLJJk+zOzv4k7szOzt+9TgIrIr554Hu4h3Pu+c53zkFCCPg/Rv/t mJyczGcy2ZNRVS1IjCUMo5UyDGNd1/V123amg4IXg7DVbjzqMjh79vX0yEjhk2wu dxgjBKZpQqVSgXq97m1slOn22/O87VArwESAd/9mcPr0mTuKxeI8ITg5d3muNDs7 G2k0GrvkkIKtjk3L5QoI7vvZzF6tr6/PU1X1nSBNCfAmCWipg4ND861Wqzk19WGF hRRz/PHx/WE1hiNqHJpbLVhdK8PNxSUcS/QohcIDH1y9ckXq7e09jBD6Cp06NfEy pXT/yurt6rm33n42GlHSn3/xJXw9PQOGYULgh6XlUtBKAxiTQC+XoKzV3zj53DPh fD5foR3browVxyrJZOJ9jJEMCMDnHK79sgCdjg2NZnMnedty2WzQSiCCZU6cO39h aurie59ijumy67pPM1mRtWoVfI9D8dFHwA0E61bu2ksvPg9VXQdJCvnV8oamhCNR 8uBDI853l37wQAj94MDAnc1GXaGEwpNPjMPttTWo1WpwsL8fzrz6ChSLjwEIZFyf //mjucuzhueK79FTJ46wTPTuu8q1WqG5aQ2Mjo0eGB4aHg4pci6mRsFzHZBkGUyr 016YX/j920vfLDJCtjDDM65Nf0LA4vDaCydUUFDOE9CvadqhdqudY3IoGYslUpQS hDAWDb36Z08ybihhpY6B3PB951e65ZZ29uDe/LH20sxnK2a6Y+7p2avh3XwPcN7L BUoEm6YKhEhuX9rzMbZAgOZ7YlnYoRpO0fbOB8PH7hH2+WlrobSiccYMxZGrQHAc BI0jxMPAkcwJIcgVdsBmM4SoDrJppDOGj7oKswCOKuNDR45DXkmxXcyQw4woQvJU wSMUCQ9z4iEZI5siZDSsdmv1t6Md9F8XhnZH0D42iu6/LyNlU2lipzYljDiLdThy ieP7HDumYdgrH19wiaKEg9n7Qdo/ztp0wTT+EIu3rvL1G9f4w82Ub8ctp8Y2Ax2I V4snXdsd9K//OMT/EmAA4iuZQlHh+SkAAAAASUVORK5CYII= ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline Content-Type: image/png Content-Location: http://localhost/passgen/style/input.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAUAAAAAwCAIAAADvpzSIAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAVxJREFUeNrs3Ntqg0AUBVBtjLl8Vz47 /yU4I/bQEWmbt74406wFipO8HdjsI4R0HdCsPq51XQ0C2ktv3w/l6fl8juM4DEN8 ZC5QrajbnPM8z4/HI45bgO/3++12iwCfTiczgmotyxIBnqapHLcAR3qv1+v5fBZg qDzAKaX9uAU4ujfSe7lcBBgqD3Dco4R/B7gQYKhZ3/eR4YhqOX6YCLRr2GO9MxSo uYG/51QDgwYGNDCggUEDA6008GuygWobeD9qYPAODBzxDizA0HCArdBghQY0MKCB 4V0aWIDBCg1YoYE/rtDdy6+0gAoDvN+t0GCFBg5foQUYmguwFRqs0IAGBjQwvEsD +0sdaC/A+9EKDVZo4IgVWgODBgY0MKCBQQMDGhjQwIAGhv/VwFuAly85ZwOCmkVI S1p/BDilNM9z+dqMoFoR3YhqBHYr5LjWdTUXaHGdNgRo2KcAAwBOjlBPMWiO0QAA AABJRU5ErkJggg== ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline Content-Type: image/png Content-Location: http://localhost/passgen/style/hint.png Content-Transfer-Encoding: Base64 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 ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline Content-Type: image/png Content-Location: http://localhost/passgen/style/x.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnxJREFUeNqkVD1v02AQvjTOR1M7SYNJ S6hCIqKCoKoy8wOYWdk6sLFXDIgZ8QOYOnTjHzCAGJlgrRBVFEMqtSlNQ7ATx7Hj mOdJbRpCi5A46XT2vb7H9/HcG6tkMjIndJSh69AqVA/9HagB3Ye2oPZsUGwGKAFd hd6/ksk80dLpmpZKSSaRmB7anifWaCSW4zRObfs5XG+gbag3C8Sva2oyua2r6taK qkp8YUEuEn8ykeN+Xzr9/m7fdV/A1SBYPH/2x+sAeXotm91a1TRZiMXkMuEZM4Wt u+Pxkuv7H+A2CcSUHpRyuWcE+VdZSibFD4J6bzjcw+tnAt1ET16W8/lClEmz15N3 zaY0Tk6mPcql02Jc4KN1PO/O0PNeE+jeiqY95kEky3j2x2NJOI64ti0KStlrt0UN AtnQdblbLssEzwEUpRWQ1Vt2tMqa5+V2sSjq4qKkfF+ODg4kD1vGYNYB4uEnVEoY WyWQHo14VhLxuFRKJRnBJvkR7K1qVWIo33Hdc9KdxerK3xpqIaCHTPjPGKwDHgUA Ykl/TJOMJdnmZQDfx8NDiRMk1KZhyCgsKZIwtkMgg4ydl/foC/tzFT2ob26KwAZ4 N1qt33gWxhoE2iftydhIOH4VPbkBXm3UapIAZ4pra6LgPQ3/98HgF8sZSwyuCAn5 sFIo7JSy2fNmK4okwyGwNwzi2qTDCbso6Wu3K1+63Ud4fUUescjO2PeXSXsyljJB YDTmqLm0ke/YNOWbZe2CRzs4Oo12bQjHJ+4Oac+RXrZvzKxtWVOQcGl5pUwiIDbo BxeQu0Pak7E8UFAOMxmACrg+pG2ajSPT3A4zac1fI/99sf0UYAD4bkPP8125pgAA AABJRU5ErkJggg== ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline Content-Type: image/png Content-Location: http://localhost/passgen/style/input-result.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAeUAAAAwCAIAAACg1vUdAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYxJREFUeNrs3clqAkEUhtHu2I7P5WP7 XkIPdC6ppjK4Ci68heeAQptdLT5+yoR0HQAt6OO1rquDAEgd61B6fbvdDofDMAzl EwBeLuI8z/M4jtfrNeI8lE8vl8v5fI5e73Y7ZwSQwbIs0ev7/V4et15HrE+n036/ 12uAPL2epqk+br2OZR2xPh6Peg2Qp9fxHhP7b68LvQZIou/7SHaUuTx+OBGAJgy1 4pVDAUiyr39m2b4GsK8BsK8B7Gv7GsC+BuDJff0YcgAy7Ov6aF8DNLWv3V8D5NzX Nct6DdBGr92HALTBvgawrwGwrwHebV/rNUAbvXYfAtAG+xqgjX393evu4W8fAXht r+t75z4EoBXuQwDy7mu/HwLQXq/dhwC0wb4GsK8BsK8B3m1f+39gAKl7XR/dhwC0 wX0IQOp97ftGAPsaAPsawL62rwHsawDsawD7GgD7GoB/7uut18uXeZ4dEEAS0eQS 51+9nqZpHMfyY2cEkEGUOsocfd7mdrzWdXUuAJm5rAZoxqcAAwAgeVNMnT+8AwAA AABJRU5ErkJggg== ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline; filename=style.css Content-Type: text/css; charset=utf-8; name=style.css Content-Location: http://localhost/passgen/style/style.css Content-Transfer-Encoding: 8bit /*---------------------------------------*/ /* CSS by Tomas Sardyha */ /* ( Darsain ) */ /* ( http://www.darsain.net/ ) */ /*---------------------------------------*/ /* ------ CSS RESET ------- */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; font-weight: inherit; font-style: inherit; font-family: inherit; text-decoration: none; vertical-align: baseline; background: transparent; } body { line-height: 1; } ol, ul { list-style: none; } blockquote, q { quotes: none; } :focus { outline: 0; } ins { text-decoration: none; } del { text-decoration: line-through; } table { border-collapse: collapse; border-spacing: 0; } b, strong { font-weight: bold; } i, em { font-style: italic; } u { text-decoration: underline; } /* ------ Global tags ------- */ body { font-weight: normal; font-style: normal; font-size: 12px; font-family: Verdana, Trebuchet MS, Verdana; color: #000; background: url('body-bg.png') repeat-x left top #000d1c; } h1 { font-size: 22px; } h2 { font-size: 18px; } h3 { font-size: 14px; } a, a:link, a:visited { color: #2aa7b2; text-decoration: underline; } a:hover { text-decoration: none; } /* ------ Global classes ------- */ .left { float: left; } .right { float: right; } .ffix { position: relative; clear: both; margin: 0; padding: 0; width: 0; height: 0; font-size: 0; line-height: 0; } /* ------ WRAPPERS ------- */ .mainwrapper { min-height: 560px; margin: 0 auto 30px auto; background: url('mainwrapper.jpg') no-repeat center top; } .centerwrapper { margin: 0 auto; width: 485px; } /* ------ LOGO ------- */ div.logo { display: block; position: relative; height: 90px; margin-bottom: 20px; padding: 0 20px; color: #277d99; font-size: 13px; text-shadow: #000 1px 1px 1px; } div.logo > h1 { display: block; position: absolute; top: 20px; left: 20px; color: #fff; font-family: Trebuchet MS; font-size: 22px; font-weight: bold; font-style: italic; text-shadow: #000 1px 1px 3px; } div.logo > span { display: block; float: left; margin: 65px 0 0 0; } div.logo > a.about { display: block; position: absolute; top: 20px; right: 20px; height: 25px; padding-right: 30px; color: #07c1ef; font-size: 16px; line-height: 25px; text-decoration: none; background: url('icon-questionmark.png') no-repeat right center; } div.logo > a.about:hover { color: #fff; } div.logo > a.home { display: block; float: right; margin-top: 65px; padding: 0 10px 0 0; color: #08a460; text-decoration: none; background: url('mini-arrow.png') no-repeat right 3px; } div.logo > a.home:hover { color: #fff; } /* ------ ABOUT ------- */ #about { position: fixed; display: none; top: 0; right: 0; bottom: 0; left: 0; background: url('op-bg-dark.png'); z-index: 100; } #about > div { display: block; width: 460px; min-height: 200px; margin: 100px auto 40px auto; padding: 20px; color: #2c2201; line-height: 18px; border: 1px solid #9e9985; outline: 3px solid #000; cursor: pointer; background: url('about.png') repeat-x left top #faf5e1; } #about > div > h2 { display: block; margin: -20px -20px 5px -20px; padding: 10px 20px; color: #fff; line-height: 25px; text-shadow: #000 1px 1px 3px; background: url('icon-questionmark.png') no-repeat 460px center; } /* ------ FORM ------- */ #form { position: relative; } #form > #button { position: absolute; display: block; float: right; top: 25px; right: 0; width: 154px; height: 157px; z-index: 10; background: url('button-generate.png') no-repeat left top; } #form > #button.generated { background-position: right top; } #form > #button.hover { background-position: right center; } #form > #button.active { background-position: right bottom; } #form > h3 { display: block; float: left; margin-top: 4px; padding: 5px 2px; line-height: 14px; font-size: 14px; color: #fff4c2; text-shadow: #000 1px 1px 3px; } #form > input + h3 { margin-top: 10px; } #form > span.siw { display: block; float: left; height: 20px; line-height: 20px; margin: 6px 0 0 30px; padding-right: 20px; color: #bab8b7; cursor: pointer; background: url('icon-eye.png') no-repeat right 5px; } #form > span.siw:hover { color: #fff; } #form > span.siw.active { color: #75ce69; } #form > span.siw:active { color: #000; } #form > input { display: block; clear: both; padding: 0 0 0 5px; margin: 0; width: 315px; height: 48px; line-height: 48px; font-size: 24px; border: 0; background: url('input.png') no-repeat; } #form > input:focus { outline: 1px solid #ddcd83; } #form > div.hint { position: absolute; display: none; left: -265px; width: 230px; min-height: 103px; padding: 15px; color: #fff; font-size: 11px; background: url('hint.png') no-repeat left top; } #master { top: 30px; } #domain { top: 105px; } /* ------ Errors ------- */ #errors li { position: relative; display: block; margin: 25px auto 0 auto; padding: 15px 20px; color: #d4a8a8; border: 1px solid #703c3c; background: #200a0a; } #errors li span { position: absolute; display: block; top: 11px; right: -8px; width: 18px; height: 18px; background: url('x.png') no-repeat; cursor: pointer; } #errors li + li { margin-top: 8px; } /* ------ Result ------- */ #result { margin-top: 15px; } #result > h2 { display: block; padding: 10px 2px; line-height: 14px; color: #8ac04b; letter-spacing: 1px; text-shadow: #000 1px 1px 3px; } #result > input + h2 { margin-top: 10px; } #result > input { display: block; padding: 0 0 0 5px; margin: 0; width: 480px; height: 48px; line-height: 48px; font-size: 24px; border: 0; background: url('input-result.png') no-repeat; border: 1px solid #12bb00; } ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline; filename=jquery-1.3.2.min.js Content-Type: application/javascript; charset=utf-8; name=jquery-1.3.2.min.js Content-Location: http://localhost/passgen/js/jquery-1.3.2.min.js Content-Transfer-Encoding: Base64 LyoKICogalF1ZXJ5IEphdmFTY3JpcHQgTGlicmFyeSB2MS4zLjIKICogaHR0cDov L2pxdWVyeS5jb20vCiAqCiAqIENvcHlyaWdodCAoYykgMjAwOSBKb2huIFJlc2ln CiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2Vz LgogKiBodHRwOi8vZG9jcy5qcXVlcnkuY29tL0xpY2Vuc2UKICoKICogRGF0ZTog MjAwOS0wMi0xOSAxNzozNDoyMSAtMDUwMCAoVGh1LCAxOSBGZWIgMjAwOSkKICog UmV2aXNpb246IDYyNDYKICovCihmdW5jdGlvbigpe3ZhciBsPXRoaXMsZyx5PWwu alF1ZXJ5LHA9bC4kLG89bC5qUXVlcnk9bC4kPWZ1bmN0aW9uKEUsRil7cmV0dXJu IG5ldyBvLmZuLmluaXQoRSxGKX0sRD0vXltePF0qKDwoLnxccykrPilbXj5dKiR8 XiMoW1x3LV0rKSQvLGY9L14uW146I1xbXC4sXSokLztvLmZuPW8ucHJvdG90eXBl PXtpbml0OmZ1bmN0aW9uKEUsSCl7RT1FfHxkb2N1bWVudDtpZihFLm5vZGVUeXBl KXt0aGlzWzBdPUU7dGhpcy5sZW5ndGg9MTt0aGlzLmNvbnRleHQ9RTtyZXR1cm4g dGhpc31pZih0eXBlb2YgRT09PSJzdHJpbmciKXt2YXIgRz1ELmV4ZWMoRSk7aWYo RyYmKEdbMV18fCFIKSl7aWYoR1sxXSl7RT1vLmNsZWFuKFtHWzFdXSxIKX1lbHNl e3ZhciBJPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKEdbM10pO2lmKEkmJkkuaWQh PUdbM10pe3JldHVybiBvKCkuZmluZChFKX12YXIgRj1vKEl8fFtdKTtGLmNvbnRl eHQ9ZG9jdW1lbnQ7Ri5zZWxlY3Rvcj1FO3JldHVybiBGfX1lbHNle3JldHVybiBv KEgpLmZpbmQoRSl9fWVsc2V7aWYoby5pc0Z1bmN0aW9uKEUpKXtyZXR1cm4gbyhk b2N1bWVudCkucmVhZHkoRSl9fWlmKEUuc2VsZWN0b3ImJkUuY29udGV4dCl7dGhp cy5zZWxlY3Rvcj1FLnNlbGVjdG9yO3RoaXMuY29udGV4dD1FLmNvbnRleHR9cmV0 dXJuIHRoaXMuc2V0QXJyYXkoby5pc0FycmF5KEUpP0U6by5tYWtlQXJyYXkoRSkp fSxzZWxlY3RvcjoiIixqcXVlcnk6IjEuMy4yIixzaXplOmZ1bmN0aW9uKCl7cmV0 dXJuIHRoaXMubGVuZ3RofSxnZXQ6ZnVuY3Rpb24oRSl7cmV0dXJuIEU9PT1nP0Fy cmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMpOnRoaXNbRV19LHB1c2hTdGFj azpmdW5jdGlvbihGLEgsRSl7dmFyIEc9byhGKTtHLnByZXZPYmplY3Q9dGhpcztH LmNvbnRleHQ9dGhpcy5jb250ZXh0O2lmKEg9PT0iZmluZCIpe0cuc2VsZWN0b3I9 dGhpcy5zZWxlY3RvcisodGhpcy5zZWxlY3Rvcj8iICI6IiIpK0V9ZWxzZXtpZihI KXtHLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrIi4iK0grIigiK0UrIikifX1yZXR1 cm4gR30sc2V0QXJyYXk6ZnVuY3Rpb24oRSl7dGhpcy5sZW5ndGg9MDtBcnJheS5w cm90b3R5cGUucHVzaC5hcHBseSh0aGlzLEUpO3JldHVybiB0aGlzfSxlYWNoOmZ1 bmN0aW9uKEYsRSl7cmV0dXJuIG8uZWFjaCh0aGlzLEYsRSl9LGluZGV4OmZ1bmN0 aW9uKEUpe3JldHVybiBvLmluQXJyYXkoRSYmRS5qcXVlcnk/RVswXTpFLHRoaXMp fSxhdHRyOmZ1bmN0aW9uKEYsSCxHKXt2YXIgRT1GO2lmKHR5cGVvZiBGPT09InN0 cmluZyIpe2lmKEg9PT1nKXtyZXR1cm4gdGhpc1swXSYmb1tHfHwiYXR0ciJdKHRo aXNbMF0sRil9ZWxzZXtFPXt9O0VbRl09SH19cmV0dXJuIHRoaXMuZWFjaChmdW5j dGlvbihJKXtmb3IoRiBpbiBFKXtvLmF0dHIoRz90aGlzLnN0eWxlOnRoaXMsRixv LnByb3AodGhpcyxFW0ZdLEcsSSxGKSl9fSl9LGNzczpmdW5jdGlvbihFLEYpe2lm KChFPT0id2lkdGgifHxFPT0iaGVpZ2h0IikmJnBhcnNlRmxvYXQoRik8MCl7Rj1n fXJldHVybiB0aGlzLmF0dHIoRSxGLCJjdXJDU1MiKX0sdGV4dDpmdW5jdGlvbihG KXtpZih0eXBlb2YgRiE9PSJvYmplY3QiJiZGIT1udWxsKXtyZXR1cm4gdGhpcy5l bXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHxk b2N1bWVudCkuY3JlYXRlVGV4dE5vZGUoRikpfXZhciBFPSIiO28uZWFjaChGfHx0 aGlzLGZ1bmN0aW9uKCl7by5lYWNoKHRoaXMuY2hpbGROb2RlcyxmdW5jdGlvbigp e2lmKHRoaXMubm9kZVR5cGUhPTgpe0UrPXRoaXMubm9kZVR5cGUhPTE/dGhpcy5u b2RlVmFsdWU6by5mbi50ZXh0KFt0aGlzXSl9fSl9KTtyZXR1cm4gRX0sd3JhcEFs bDpmdW5jdGlvbihFKXtpZih0aGlzWzBdKXt2YXIgRj1vKEUsdGhpc1swXS5vd25l ckRvY3VtZW50KS5jbG9uZSgpO2lmKHRoaXNbMF0ucGFyZW50Tm9kZSl7Ri5pbnNl cnRCZWZvcmUodGhpc1swXSl9Ri5tYXAoZnVuY3Rpb24oKXt2YXIgRz10aGlzO3do aWxlKEcuZmlyc3RDaGlsZCl7Rz1HLmZpcnN0Q2hpbGR9cmV0dXJuIEd9KS5hcHBl bmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihFKXtyZXR1 cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7byh0aGlzKS5jb250ZW50cygpLndyYXBB bGwoRSl9KX0sd3JhcDpmdW5jdGlvbihFKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0 aW9uKCl7byh0aGlzKS53cmFwQWxsKEUpfSl9LGFwcGVuZDpmdW5jdGlvbigpe3Jl dHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyx0cnVlLGZ1bmN0aW9uKEUpe2lm KHRoaXMubm9kZVR5cGU9PTEpe3RoaXMuYXBwZW5kQ2hpbGQoRSl9fSl9LHByZXBl bmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsdHJ1 ZSxmdW5jdGlvbihFKXtpZih0aGlzLm5vZGVUeXBlPT0xKXt0aGlzLmluc2VydEJl Zm9yZShFLHRoaXMuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3Jl dHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyxmYWxzZSxmdW5jdGlvbihFKXt0 aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKEUsdGhpcyl9KX0sYWZ0ZXI6ZnVu Y3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZmFsc2UsZnVu Y3Rpb24oRSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShFLHRoaXMubmV4 dFNpYmxpbmcpfSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmpl Y3R8fG8oW10pfSxwdXNoOltdLnB1c2gsc29ydDpbXS5zb3J0LHNwbGljZTpbXS5z cGxpY2UsZmluZDpmdW5jdGlvbihFKXtpZih0aGlzLmxlbmd0aD09PTEpe3ZhciBG PXRoaXMucHVzaFN0YWNrKFtdLCJmaW5kIixFKTtGLmxlbmd0aD0wO28uZmluZChF LHRoaXNbMF0sRik7cmV0dXJuIEZ9ZWxzZXtyZXR1cm4gdGhpcy5wdXNoU3RhY2so by51bmlxdWUoby5tYXAodGhpcyxmdW5jdGlvbihHKXtyZXR1cm4gby5maW5kKEUs Ryl9KSksImZpbmQiLEUpfX0sY2xvbmU6ZnVuY3Rpb24oRyl7dmFyIEU9dGhpcy5t YXAoZnVuY3Rpb24oKXtpZighby5zdXBwb3J0Lm5vQ2xvbmVFdmVudCYmIW8uaXNY TUxEb2ModGhpcykpe3ZhciBJPXRoaXMub3V0ZXJIVE1MO2lmKCFJKXt2YXIgSj10 aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Si5hcHBlbmRD aGlsZCh0aGlzLmNsb25lTm9kZSh0cnVlKSk7ST1KLmlubmVySFRNTH1yZXR1cm4g by5jbGVhbihbSS5yZXBsYWNlKC8galF1ZXJ5XGQrPSIoPzpcZCt8bnVsbCkiL2cs IiIpLnJlcGxhY2UoL15ccyovLCIiKV0pWzBdfWVsc2V7cmV0dXJuIHRoaXMuY2xv bmVOb2RlKHRydWUpfX0pO2lmKEc9PT10cnVlKXt2YXIgSD10aGlzLmZpbmQoIioi KS5hbmRTZWxmKCksRj0wO0UuZmluZCgiKiIpLmFuZFNlbGYoKS5lYWNoKGZ1bmN0 aW9uKCl7aWYodGhpcy5ub2RlTmFtZSE9PUhbRl0ubm9kZU5hbWUpe3JldHVybn12 YXIgST1vLmRhdGEoSFtGXSwiZXZlbnRzIik7Zm9yKHZhciBLIGluIEkpe2Zvcih2 YXIgSiBpbiBJW0tdKXtvLmV2ZW50LmFkZCh0aGlzLEssSVtLXVtKXSxJW0tdW0pd LmRhdGEpfX1GKyt9KX1yZXR1cm4gRX0sZmlsdGVyOmZ1bmN0aW9uKEUpe3JldHVy biB0aGlzLnB1c2hTdGFjayhvLmlzRnVuY3Rpb24oRSkmJm8uZ3JlcCh0aGlzLGZ1 bmN0aW9uKEcsRil7cmV0dXJuIEUuY2FsbChHLEYpfSl8fG8ubXVsdGlGaWx0ZXIo RSxvLmdyZXAodGhpcyxmdW5jdGlvbihGKXtyZXR1cm4gRi5ub2RlVHlwZT09PTF9 KSksImZpbHRlciIsRSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oRSl7dmFyIEc9by5leHBy Lm1hdGNoLlBPUy50ZXN0KEUpP28oRSk6bnVsbCxGPTA7cmV0dXJuIHRoaXMubWFw KGZ1bmN0aW9uKCl7dmFyIEg9dGhpczt3aGlsZShIJiZILm93bmVyRG9jdW1lbnQp e2lmKEc/Ry5pbmRleChIKT4tMTpvKEgpLmlzKEUpKXtvLmRhdGEoSCwiY2xvc2Vz dCIsRik7cmV0dXJuIEh9SD1ILnBhcmVudE5vZGU7RisrfX0pfSxub3Q6ZnVuY3Rp b24oRSl7aWYodHlwZW9mIEU9PT0ic3RyaW5nIil7aWYoZi50ZXN0KEUpKXtyZXR1 cm4gdGhpcy5wdXNoU3RhY2soby5tdWx0aUZpbHRlcihFLHRoaXMsdHJ1ZSksIm5v dCIsRSl9ZWxzZXtFPW8ubXVsdGlGaWx0ZXIoRSx0aGlzKX19dmFyIEY9RS5sZW5n dGgmJkVbRS5sZW5ndGgtMV0hPT1nJiYhRS5ub2RlVHlwZTtyZXR1cm4gdGhpcy5m aWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gRj9vLmluQXJyYXkodGhpcyxFKTwwOnRo aXMhPUV9KX0sYWRkOmZ1bmN0aW9uKEUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhv LnVuaXF1ZShvLm1lcmdlKHRoaXMuZ2V0KCksdHlwZW9mIEU9PT0ic3RyaW5nIj9v KEUpOm8ubWFrZUFycmF5KEUpKSkpfSxpczpmdW5jdGlvbihFKXtyZXR1cm4gISFF JiZvLm11bHRpRmlsdGVyKEUsdGhpcykubGVuZ3RoPjB9LGhhc0NsYXNzOmZ1bmN0 aW9uKEUpe3JldHVybiAhIUUmJnRoaXMuaXMoIi4iK0UpfSx2YWw6ZnVuY3Rpb24o Syl7aWYoSz09PWcpe3ZhciBFPXRoaXNbMF07aWYoRSl7aWYoby5ub2RlTmFtZShF LCJvcHRpb24iKSl7cmV0dXJuKEUuYXR0cmlidXRlcy52YWx1ZXx8e30pLnNwZWNp ZmllZD9FLnZhbHVlOkUudGV4dH1pZihvLm5vZGVOYW1lKEUsInNlbGVjdCIpKXt2 YXIgST1FLnNlbGVjdGVkSW5kZXgsTD1bXSxNPUUub3B0aW9ucyxIPUUudHlwZT09 InNlbGVjdC1vbmUiO2lmKEk8MCl7cmV0dXJuIG51bGx9Zm9yKHZhciBGPUg/STow LEo9SD9JKzE6TS5sZW5ndGg7RjxKO0YrKyl7dmFyIEc9TVtGXTtpZihHLnNlbGVj dGVkKXtLPW8oRykudmFsKCk7aWYoSCl7cmV0dXJuIEt9TC5wdXNoKEspfX1yZXR1 cm4gTH1yZXR1cm4oRS52YWx1ZXx8IiIpLnJlcGxhY2UoL1xyL2csIiIpfXJldHVy biBnfWlmKHR5cGVvZiBLPT09Im51bWJlciIpe0srPSIifXJldHVybiB0aGlzLmVh Y2goZnVuY3Rpb24oKXtpZih0aGlzLm5vZGVUeXBlIT0xKXtyZXR1cm59aWYoby5p c0FycmF5KEspJiYvcmFkaW98Y2hlY2tib3gvLnRlc3QodGhpcy50eXBlKSl7dGhp cy5jaGVja2VkPShvLmluQXJyYXkodGhpcy52YWx1ZSxLKT49MHx8by5pbkFycmF5 KHRoaXMubmFtZSxLKT49MCl9ZWxzZXtpZihvLm5vZGVOYW1lKHRoaXMsInNlbGVj dCIpKXt2YXIgTj1vLm1ha2VBcnJheShLKTtvKCJvcHRpb24iLHRoaXMpLmVhY2go ZnVuY3Rpb24oKXt0aGlzLnNlbGVjdGVkPShvLmluQXJyYXkodGhpcy52YWx1ZSxO KT49MHx8by5pbkFycmF5KHRoaXMudGV4dCxOKT49MCl9KTtpZighTi5sZW5ndGgp e3RoaXMuc2VsZWN0ZWRJbmRleD0tMX19ZWxzZXt0aGlzLnZhbHVlPUt9fX0pfSxo dG1sOmZ1bmN0aW9uKEUpe3JldHVybiBFPT09Zz8odGhpc1swXT90aGlzWzBdLmlu bmVySFRNTC5yZXBsYWNlKC8galF1ZXJ5XGQrPSIoPzpcZCt8bnVsbCkiL2csIiIp Om51bGwpOnRoaXMuZW1wdHkoKS5hcHBlbmQoRSl9LHJlcGxhY2VXaXRoOmZ1bmN0 aW9uKEUpe3JldHVybiB0aGlzLmFmdGVyKEUpLnJlbW92ZSgpfSxlcTpmdW5jdGlv bihFKXtyZXR1cm4gdGhpcy5zbGljZShFLCtFKzEpfSxzbGljZTpmdW5jdGlvbigp e3JldHVybiB0aGlzLnB1c2hTdGFjayhBcnJheS5wcm90b3R5cGUuc2xpY2UuYXBw bHkodGhpcyxhcmd1bWVudHMpLCJzbGljZSIsQXJyYXkucHJvdG90eXBlLnNsaWNl LmNhbGwoYXJndW1lbnRzKS5qb2luKCIsIikpfSxtYXA6ZnVuY3Rpb24oRSl7cmV0 dXJuIHRoaXMucHVzaFN0YWNrKG8ubWFwKHRoaXMsZnVuY3Rpb24oRyxGKXtyZXR1 cm4gRS5jYWxsKEcsRixHKX0pKX0sYW5kU2VsZjpmdW5jdGlvbigpe3JldHVybiB0 aGlzLmFkZCh0aGlzLnByZXZPYmplY3QpfSxkb21NYW5pcDpmdW5jdGlvbihKLE0s TCl7aWYodGhpc1swXSl7dmFyIEk9KHRoaXNbMF0ub3duZXJEb2N1bWVudHx8dGhp c1swXSkuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLEY9by5jbGVhbihKLCh0aGlz WzBdLm93bmVyRG9jdW1lbnR8fHRoaXNbMF0pLEkpLEg9SS5maXJzdENoaWxkO2lm KEgpe2Zvcih2YXIgRz0wLEU9dGhpcy5sZW5ndGg7RzxFO0crKyl7TC5jYWxsKEso dGhpc1tHXSxIKSx0aGlzLmxlbmd0aD4xfHxHPjA/SS5jbG9uZU5vZGUodHJ1ZSk6 SSl9fWlmKEYpe28uZWFjaChGLHopfX1yZXR1cm4gdGhpcztmdW5jdGlvbiBLKE4s Tyl7cmV0dXJuIE0mJm8ubm9kZU5hbWUoTiwidGFibGUiKSYmby5ub2RlTmFtZShP LCJ0ciIpPyhOLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdfHxOLmFw cGVuZENoaWxkKE4ub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Ym9keSIp KSk6Tn19fTtvLmZuLmluaXQucHJvdG90eXBlPW8uZm47ZnVuY3Rpb24geihFLEYp e2lmKEYuc3JjKXtvLmFqYXgoe3VybDpGLnNyYyxhc3luYzpmYWxzZSxkYXRhVHlw ZToic2NyaXB0In0pfWVsc2V7by5nbG9iYWxFdmFsKEYudGV4dHx8Ri50ZXh0Q29u dGVudHx8Ri5pbm5lckhUTUx8fCIiKX1pZihGLnBhcmVudE5vZGUpe0YucGFyZW50 Tm9kZS5yZW1vdmVDaGlsZChGKX19ZnVuY3Rpb24gZSgpe3JldHVybiArbmV3IERh dGV9by5leHRlbmQ9by5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgSj1hcmd1bWVu dHNbMF18fHt9LEg9MSxJPWFyZ3VtZW50cy5sZW5ndGgsRT1mYWxzZSxHO2lmKHR5 cGVvZiBKPT09ImJvb2xlYW4iKXtFPUo7Sj1hcmd1bWVudHNbMV18fHt9O0g9Mn1p Zih0eXBlb2YgSiE9PSJvYmplY3QiJiYhby5pc0Z1bmN0aW9uKEopKXtKPXt9fWlm KEk9PUgpe0o9dGhpczstLUh9Zm9yKDtIPEk7SCsrKXtpZigoRz1hcmd1bWVudHNb SF0pIT1udWxsKXtmb3IodmFyIEYgaW4gRyl7dmFyIEs9SltGXSxMPUdbRl07aWYo Sj09PUwpe2NvbnRpbnVlfWlmKEUmJkwmJnR5cGVvZiBMPT09Im9iamVjdCImJiFM Lm5vZGVUeXBlKXtKW0ZdPW8uZXh0ZW5kKEUsS3x8KEwubGVuZ3RoIT1udWxsP1td Ont9KSxMKX1lbHNle2lmKEwhPT1nKXtKW0ZdPUx9fX19fXJldHVybiBKfTt2YXIg Yj0vei0/aW5kZXh8Zm9udC0/d2VpZ2h0fG9wYWNpdHl8em9vbXxsaW5lLT9oZWln aHQvaSxxPWRvY3VtZW50LmRlZmF1bHRWaWV3fHx7fSxzPU9iamVjdC5wcm90b3R5 cGUudG9TdHJpbmc7by5leHRlbmQoe25vQ29uZmxpY3Q6ZnVuY3Rpb24oRSl7bC4k PXA7aWYoRSl7bC5qUXVlcnk9eX1yZXR1cm4gb30saXNGdW5jdGlvbjpmdW5jdGlv bihFKXtyZXR1cm4gcy5jYWxsKEUpPT09IltvYmplY3QgRnVuY3Rpb25dIn0saXNB cnJheTpmdW5jdGlvbihFKXtyZXR1cm4gcy5jYWxsKEUpPT09IltvYmplY3QgQXJy YXldIn0saXNYTUxEb2M6ZnVuY3Rpb24oRSl7cmV0dXJuIEUubm9kZVR5cGU9PT05 JiZFLmRvY3VtZW50RWxlbWVudC5ub2RlTmFtZSE9PSJIVE1MInx8ISFFLm93bmVy RG9jdW1lbnQmJm8uaXNYTUxEb2MoRS5vd25lckRvY3VtZW50KX0sZ2xvYmFsRXZh bDpmdW5jdGlvbihHKXtpZihHJiYvXFMvLnRlc3QoRykpe3ZhciBGPWRvY3VtZW50 LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGRvY3VtZW50LmRvY3Vt ZW50RWxlbWVudCxFPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO0Uu dHlwZT0idGV4dC9qYXZhc2NyaXB0IjtpZihvLnN1cHBvcnQuc2NyaXB0RXZhbCl7 RS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShHKSl9ZWxzZXtF LnRleHQ9R31GLmluc2VydEJlZm9yZShFLEYuZmlyc3RDaGlsZCk7Ri5yZW1vdmVD aGlsZChFKX19LG5vZGVOYW1lOmZ1bmN0aW9uKEYsRSl7cmV0dXJuIEYubm9kZU5h bWUmJkYubm9kZU5hbWUudG9VcHBlckNhc2UoKT09RS50b1VwcGVyQ2FzZSgpfSxl YWNoOmZ1bmN0aW9uKEcsSyxGKXt2YXIgRSxIPTAsST1HLmxlbmd0aDtpZihGKXtp ZihJPT09Zyl7Zm9yKEUgaW4gRyl7aWYoSy5hcHBseShHW0VdLEYpPT09ZmFsc2Up e2JyZWFrfX19ZWxzZXtmb3IoO0g8STspe2lmKEsuYXBwbHkoR1tIKytdLEYpPT09 ZmFsc2Upe2JyZWFrfX19fWVsc2V7aWYoST09PWcpe2ZvcihFIGluIEcpe2lmKEsu Y2FsbChHW0VdLEUsR1tFXSk9PT1mYWxzZSl7YnJlYWt9fX1lbHNle2Zvcih2YXIg Sj1HWzBdO0g8SSYmSy5jYWxsKEosSCxKKSE9PWZhbHNlO0o9R1srK0hdKXt9fX1y ZXR1cm4gR30scHJvcDpmdW5jdGlvbihILEksRyxGLEUpe2lmKG8uaXNGdW5jdGlv bihJKSl7ST1JLmNhbGwoSCxGKX1yZXR1cm4gdHlwZW9mIEk9PT0ibnVtYmVyIiYm Rz09ImN1ckNTUyImJiFiLnRlc3QoRSk/SSsicHgiOkl9LGNsYXNzTmFtZTp7YWRk OmZ1bmN0aW9uKEUsRil7by5lYWNoKChGfHwiIikuc3BsaXQoL1xzKy8pLGZ1bmN0 aW9uKEcsSCl7aWYoRS5ub2RlVHlwZT09MSYmIW8uY2xhc3NOYW1lLmhhcyhFLmNs YXNzTmFtZSxIKSl7RS5jbGFzc05hbWUrPShFLmNsYXNzTmFtZT8iICI6IiIpK0h9 fSl9LHJlbW92ZTpmdW5jdGlvbihFLEYpe2lmKEUubm9kZVR5cGU9PTEpe0UuY2xh c3NOYW1lPUYhPT1nP28uZ3JlcChFLmNsYXNzTmFtZS5zcGxpdCgvXHMrLyksZnVu Y3Rpb24oRyl7cmV0dXJuICFvLmNsYXNzTmFtZS5oYXMoRixHKX0pLmpvaW4oIiAi KToiIn19LGhhczpmdW5jdGlvbihGLEUpe3JldHVybiBGJiZvLmluQXJyYXkoRSwo Ri5jbGFzc05hbWV8fEYpLnRvU3RyaW5nKCkuc3BsaXQoL1xzKy8pKT4tMX19LHN3 YXA6ZnVuY3Rpb24oSCxHLEkpe3ZhciBFPXt9O2Zvcih2YXIgRiBpbiBHKXtFW0Zd PUguc3R5bGVbRl07SC5zdHlsZVtGXT1HW0ZdfUkuY2FsbChIKTtmb3IodmFyIEYg aW4gRyl7SC5zdHlsZVtGXT1FW0ZdfX0sY3NzOmZ1bmN0aW9uKEgsRixKLEUpe2lm KEY9PSJ3aWR0aCJ8fEY9PSJoZWlnaHQiKXt2YXIgTCxHPXtwb3NpdGlvbjoiYWJz b2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSxLPUY9 PSJ3aWR0aCI/WyJMZWZ0IiwiUmlnaHQiXTpbIlRvcCIsIkJvdHRvbSJdO2Z1bmN0 aW9uIEkoKXtMPUY9PSJ3aWR0aCI/SC5vZmZzZXRXaWR0aDpILm9mZnNldEhlaWdo dDtpZihFPT09ImJvcmRlciIpe3JldHVybn1vLmVhY2goSyxmdW5jdGlvbigpe2lm KCFFKXtMLT1wYXJzZUZsb2F0KG8uY3VyQ1NTKEgsInBhZGRpbmciK3RoaXMsdHJ1 ZSkpfHwwfWlmKEU9PT0ibWFyZ2luIil7TCs9cGFyc2VGbG9hdChvLmN1ckNTUyhI LCJtYXJnaW4iK3RoaXMsdHJ1ZSkpfHwwfWVsc2V7TC09cGFyc2VGbG9hdChvLmN1 ckNTUyhILCJib3JkZXIiK3RoaXMrIldpZHRoIix0cnVlKSl8fDB9fSl9aWYoSC5v ZmZzZXRXaWR0aCE9PTApe0koKX1lbHNle28uc3dhcChILEcsSSl9cmV0dXJuIE1h dGgubWF4KDAsTWF0aC5yb3VuZChMKSl9cmV0dXJuIG8uY3VyQ1NTKEgsRixKKX0s Y3VyQ1NTOmZ1bmN0aW9uKEksRixHKXt2YXIgTCxFPUkuc3R5bGU7aWYoRj09Im9w YWNpdHkiJiYhby5zdXBwb3J0Lm9wYWNpdHkpe0w9by5hdHRyKEUsIm9wYWNpdHki KTtyZXR1cm4gTD09IiI/IjEiOkx9aWYoRi5tYXRjaCgvZmxvYXQvaSkpe0Y9d31p ZighRyYmRSYmRVtGXSl7TD1FW0ZdfWVsc2V7aWYocS5nZXRDb21wdXRlZFN0eWxl KXtpZihGLm1hdGNoKC9mbG9hdC9pKSl7Rj0iZmxvYXQifUY9Ri5yZXBsYWNlKC8o W0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCk7dmFyIE09cS5nZXRDb21wdXRl ZFN0eWxlKEksbnVsbCk7aWYoTSl7TD1NLmdldFByb3BlcnR5VmFsdWUoRil9aWYo Rj09Im9wYWNpdHkiJiZMPT0iIil7TD0iMSJ9fWVsc2V7aWYoSS5jdXJyZW50U3R5 bGUpe3ZhciBKPUYucmVwbGFjZSgvXC0oXHcpL2csZnVuY3Rpb24oTixPKXtyZXR1 cm4gTy50b1VwcGVyQ2FzZSgpfSk7TD1JLmN1cnJlbnRTdHlsZVtGXXx8SS5jdXJy ZW50U3R5bGVbSl07aWYoIS9eXGQrKHB4KT8kL2kudGVzdChMKSYmL15cZC8udGVz dChMKSl7dmFyIEg9RS5sZWZ0LEs9SS5ydW50aW1lU3R5bGUubGVmdDtJLnJ1bnRp bWVTdHlsZS5sZWZ0PUkuY3VycmVudFN0eWxlLmxlZnQ7RS5sZWZ0PUx8fDA7TD1F LnBpeGVsTGVmdCsicHgiO0UubGVmdD1IO0kucnVudGltZVN0eWxlLmxlZnQ9S319 fX1yZXR1cm4gTH0sY2xlYW46ZnVuY3Rpb24oRixLLEkpe0s9S3x8ZG9jdW1lbnQ7 aWYodHlwZW9mIEsuY3JlYXRlRWxlbWVudD09PSJ1bmRlZmluZWQiKXtLPUsub3du ZXJEb2N1bWVudHx8S1swXSYmS1swXS5vd25lckRvY3VtZW50fHxkb2N1bWVudH1p ZighSSYmRi5sZW5ndGg9PT0xJiZ0eXBlb2YgRlswXT09PSJzdHJpbmciKXt2YXIg SD0vXjwoXHcrKVxzKlwvPz4kLy5leGVjKEZbMF0pO2lmKEgpe3JldHVybltLLmNy ZWF0ZUVsZW1lbnQoSFsxXSldfX12YXIgRz1bXSxFPVtdLEw9Sy5jcmVhdGVFbGVt ZW50KCJkaXYiKTtvLmVhY2goRixmdW5jdGlvbihQLFMpe2lmKHR5cGVvZiBTPT09 Im51bWJlciIpe1MrPSIifWlmKCFTKXtyZXR1cm59aWYodHlwZW9mIFM9PT0ic3Ry aW5nIil7Uz1TLnJlcGxhY2UoLyg8KFx3KylbXj5dKj8pXC8+L2csZnVuY3Rpb24o VSxWLFQpe3JldHVybiBULm1hdGNoKC9eKGFiYnJ8YnJ8Y29sfGltZ3xpbnB1dHxs aW5rfG1ldGF8cGFyYW18aHJ8YXJlYXxlbWJlZCkkL2kpP1U6VisiPjwvIitUKyI+ In0pO3ZhciBPPVMucmVwbGFjZSgvXlxzKy8sIiIpLnN1YnN0cmluZygwLDEwKS50 b0xvd2VyQ2FzZSgpO3ZhciBRPSFPLmluZGV4T2YoIjxvcHQiKSYmWzEsIjxzZWxl Y3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXXx8IU8uaW5kZXhP ZigiPGxlZyIpJiZbMSwiPGZpZWxkc2V0PiIsIjwvZmllbGRzZXQ+Il18fE8ubWF0 Y2goL148KHRoZWFkfHRib2R5fHRmb290fGNvbGd8Y2FwKS8pJiZbMSwiPHRhYmxl PiIsIjwvdGFibGU+Il18fCFPLmluZGV4T2YoIjx0ciIpJiZbMiwiPHRhYmxlPjx0 Ym9keT4iLCI8L3Rib2R5PjwvdGFibGU+Il18fCghTy5pbmRleE9mKCI8dGQiKXx8 IU8uaW5kZXhPZigiPHRoIikpJiZbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90 cj48L3Rib2R5PjwvdGFibGU+Il18fCFPLmluZGV4T2YoIjxjb2wiKSYmWzIsIjx0 YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3Rh YmxlPiJdfHwhby5zdXBwb3J0Lmh0bWxTZXJpYWxpemUmJlsxLCJkaXY8ZGl2PiIs IjwvZGl2PiJdfHxbMCwiIiwiIl07TC5pbm5lckhUTUw9UVsxXStTK1FbMl07d2hp bGUoUVswXS0tKXtMPUwubGFzdENoaWxkfWlmKCFvLnN1cHBvcnQudGJvZHkpe3Zh ciBSPS88dGJvZHkvaS50ZXN0KFMpLE49IU8uaW5kZXhPZigiPHRhYmxlIikmJiFS P0wuZmlyc3RDaGlsZCYmTC5maXJzdENoaWxkLmNoaWxkTm9kZXM6UVsxXT09Ijx0 YWJsZT4iJiYhUj9MLmNoaWxkTm9kZXM6W107Zm9yKHZhciBNPU4ubGVuZ3RoLTE7 TT49MDstLU0pe2lmKG8ubm9kZU5hbWUoTltNXSwidGJvZHkiKSYmIU5bTV0uY2hp bGROb2Rlcy5sZW5ndGgpe05bTV0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChOW01d KX19fWlmKCFvLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJi9eXHMvLnRlc3Qo Uykpe0wuaW5zZXJ0QmVmb3JlKEsuY3JlYXRlVGV4dE5vZGUoUy5tYXRjaCgvXlxz Ki8pWzBdKSxMLmZpcnN0Q2hpbGQpfVM9by5tYWtlQXJyYXkoTC5jaGlsZE5vZGVz KX1pZihTLm5vZGVUeXBlKXtHLnB1c2goUyl9ZWxzZXtHPW8ubWVyZ2UoRyxTKX19 KTtpZihJKXtmb3IodmFyIEo9MDtHW0pdO0orKyl7aWYoby5ub2RlTmFtZShHW0pd LCJzY3JpcHQiKSYmKCFHW0pdLnR5cGV8fEdbSl0udHlwZS50b0xvd2VyQ2FzZSgp PT09InRleHQvamF2YXNjcmlwdCIpKXtFLnB1c2goR1tKXS5wYXJlbnROb2RlP0db Sl0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChHW0pdKTpHW0pdKX1lbHNle2lmKEdb Sl0ubm9kZVR5cGU9PT0xKXtHLnNwbGljZS5hcHBseShHLFtKKzEsMF0uY29uY2F0 KG8ubWFrZUFycmF5KEdbSl0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIp KSkpfUkuYXBwZW5kQ2hpbGQoR1tKXSl9fXJldHVybiBFfXJldHVybiBHfSxhdHRy OmZ1bmN0aW9uKEosRyxLKXtpZighSnx8Si5ub2RlVHlwZT09M3x8Si5ub2RlVHlw ZT09OCl7cmV0dXJuIGd9dmFyIEg9IW8uaXNYTUxEb2MoSiksTD1LIT09ZztHPUgm Jm8ucHJvcHNbR118fEc7aWYoSi50YWdOYW1lKXt2YXIgRj0vaHJlZnxzcmN8c3R5 bGUvLnRlc3QoRyk7aWYoRz09InNlbGVjdGVkIiYmSi5wYXJlbnROb2RlKXtKLnBh cmVudE5vZGUuc2VsZWN0ZWRJbmRleH1pZihHIGluIEomJkgmJiFGKXtpZihMKXtp ZihHPT0idHlwZSImJm8ubm9kZU5hbWUoSiwiaW5wdXQiKSYmSi5wYXJlbnROb2Rl KXt0aHJvdyJ0eXBlIHByb3BlcnR5IGNhbid0IGJlIGNoYW5nZWQifUpbR109S31p ZihvLm5vZGVOYW1lKEosImZvcm0iKSYmSi5nZXRBdHRyaWJ1dGVOb2RlKEcpKXty ZXR1cm4gSi5nZXRBdHRyaWJ1dGVOb2RlKEcpLm5vZGVWYWx1ZX1pZihHPT0idGFi SW5kZXgiKXt2YXIgST1KLmdldEF0dHJpYnV0ZU5vZGUoInRhYkluZGV4Iik7cmV0 dXJuIEkmJkkuc3BlY2lmaWVkP0kudmFsdWU6Si5ub2RlTmFtZS5tYXRjaCgvKGJ1 dHRvbnxpbnB1dHxvYmplY3R8c2VsZWN0fHRleHRhcmVhKS9pKT8wOkoubm9kZU5h bWUubWF0Y2goL14oYXxhcmVhKSQvaSkmJkouaHJlZj8wOmd9cmV0dXJuIEpbR119 aWYoIW8uc3VwcG9ydC5zdHlsZSYmSCYmRz09InN0eWxlIil7cmV0dXJuIG8uYXR0 cihKLnN0eWxlLCJjc3NUZXh0IixLKX1pZihMKXtKLnNldEF0dHJpYnV0ZShHLCIi K0spfXZhciBFPSFvLnN1cHBvcnQuaHJlZk5vcm1hbGl6ZWQmJkgmJkY/Si5nZXRB dHRyaWJ1dGUoRywyKTpKLmdldEF0dHJpYnV0ZShHKTtyZXR1cm4gRT09PW51bGw/ ZzpFfWlmKCFvLnN1cHBvcnQub3BhY2l0eSYmRz09Im9wYWNpdHkiKXtpZihMKXtK Lnpvb209MTtKLmZpbHRlcj0oSi5maWx0ZXJ8fCIiKS5yZXBsYWNlKC9hbHBoYVwo W14pXSpcKS8sIiIpKyhwYXJzZUludChLKSsiIj09Ik5hTiI/IiI6ImFscGhhKG9w YWNpdHk9IitLKjEwMCsiKSIpfXJldHVybiBKLmZpbHRlciYmSi5maWx0ZXIuaW5k ZXhPZigib3BhY2l0eT0iKT49MD8ocGFyc2VGbG9hdChKLmZpbHRlci5tYXRjaCgv b3BhY2l0eT0oW14pXSopLylbMV0pLzEwMCkrIiI6IiJ9Rz1HLnJlcGxhY2UoLy0o W2Etel0pL2lnLGZ1bmN0aW9uKE0sTil7cmV0dXJuIE4udG9VcHBlckNhc2UoKX0p O2lmKEwpe0pbR109S31yZXR1cm4gSltHXX0sdHJpbTpmdW5jdGlvbihFKXtyZXR1 cm4oRXx8IiIpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKX0sbWFrZUFycmF5OmZ1 bmN0aW9uKEcpe3ZhciBFPVtdO2lmKEchPW51bGwpe3ZhciBGPUcubGVuZ3RoO2lm KEY9PW51bGx8fHR5cGVvZiBHPT09InN0cmluZyJ8fG8uaXNGdW5jdGlvbihHKXx8 Ry5zZXRJbnRlcnZhbCl7RVswXT1HfWVsc2V7d2hpbGUoRil7RVstLUZdPUdbRl19 fX1yZXR1cm4gRX0saW5BcnJheTpmdW5jdGlvbihHLEgpe2Zvcih2YXIgRT0wLEY9 SC5sZW5ndGg7RTxGO0UrKyl7aWYoSFtFXT09PUcpe3JldHVybiBFfX1yZXR1cm4g LTF9LG1lcmdlOmZ1bmN0aW9uKEgsRSl7dmFyIEY9MCxHLEk9SC5sZW5ndGg7aWYo IW8uc3VwcG9ydC5nZXRBbGwpe3doaWxlKChHPUVbRisrXSkhPW51bGwpe2lmKEcu bm9kZVR5cGUhPTgpe0hbSSsrXT1HfX19ZWxzZXt3aGlsZSgoRz1FW0YrK10pIT1u dWxsKXtIW0krK109R319cmV0dXJuIEh9LHVuaXF1ZTpmdW5jdGlvbihLKXt2YXIg Rj1bXSxFPXt9O3RyeXtmb3IodmFyIEc9MCxIPUsubGVuZ3RoO0c8SDtHKyspe3Zh ciBKPW8uZGF0YShLW0ddKTtpZighRVtKXSl7RVtKXT10cnVlO0YucHVzaChLW0dd KX19fWNhdGNoKEkpe0Y9S31yZXR1cm4gRn0sZ3JlcDpmdW5jdGlvbihGLEosRSl7 dmFyIEc9W107Zm9yKHZhciBIPTAsST1GLmxlbmd0aDtIPEk7SCsrKXtpZighRSE9 IUooRltIXSxIKSl7Ry5wdXNoKEZbSF0pfX1yZXR1cm4gR30sbWFwOmZ1bmN0aW9u KEUsSil7dmFyIEY9W107Zm9yKHZhciBHPTAsSD1FLmxlbmd0aDtHPEg7RysrKXt2 YXIgST1KKEVbR10sRyk7aWYoSSE9bnVsbCl7RltGLmxlbmd0aF09SX19cmV0dXJu IEYuY29uY2F0LmFwcGx5KFtdLEYpfX0pO3ZhciBDPW5hdmlnYXRvci51c2VyQWdl bnQudG9Mb3dlckNhc2UoKTtvLmJyb3dzZXI9e3ZlcnNpb246KEMubWF0Y2goLy4r KD86cnZ8aXR8cmF8aWUpW1wvOiBdKFtcZC5dKykvKXx8WzAsIjAiXSlbMV0sc2Fm YXJpOi93ZWJraXQvLnRlc3QoQyksb3BlcmE6L29wZXJhLy50ZXN0KEMpLG1zaWU6 L21zaWUvLnRlc3QoQykmJiEvb3BlcmEvLnRlc3QoQyksbW96aWxsYTovbW96aWxs YS8udGVzdChDKSYmIS8oY29tcGF0aWJsZXx3ZWJraXQpLy50ZXN0KEMpfTtvLmVh Y2goe3BhcmVudDpmdW5jdGlvbihFKXtyZXR1cm4gRS5wYXJlbnROb2RlfSxwYXJl bnRzOmZ1bmN0aW9uKEUpe3JldHVybiBvLmRpcihFLCJwYXJlbnROb2RlIil9LG5l eHQ6ZnVuY3Rpb24oRSl7cmV0dXJuIG8ubnRoKEUsMiwibmV4dFNpYmxpbmciKX0s cHJldjpmdW5jdGlvbihFKXtyZXR1cm4gby5udGgoRSwyLCJwcmV2aW91c1NpYmxp bmciKX0sbmV4dEFsbDpmdW5jdGlvbihFKXtyZXR1cm4gby5kaXIoRSwibmV4dFNp YmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihFKXtyZXR1cm4gby5kaXIoRSwicHJl dmlvdXNTaWJsaW5nIil9LHNpYmxpbmdzOmZ1bmN0aW9uKEUpe3JldHVybiBvLnNp YmxpbmcoRS5wYXJlbnROb2RlLmZpcnN0Q2hpbGQsRSl9LGNoaWxkcmVuOmZ1bmN0 aW9uKEUpe3JldHVybiBvLnNpYmxpbmcoRS5maXJzdENoaWxkKX0sY29udGVudHM6 ZnVuY3Rpb24oRSl7cmV0dXJuIG8ubm9kZU5hbWUoRSwiaWZyYW1lIik/RS5jb250 ZW50RG9jdW1lbnR8fEUuY29udGVudFdpbmRvdy5kb2N1bWVudDpvLm1ha2VBcnJh eShFLmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24oRSxGKXtvLmZuW0VdPWZ1bmN0aW9u KEcpe3ZhciBIPW8ubWFwKHRoaXMsRik7aWYoRyYmdHlwZW9mIEc9PSJzdHJpbmci KXtIPW8ubXVsdGlGaWx0ZXIoRyxIKX1yZXR1cm4gdGhpcy5wdXNoU3RhY2soby51 bmlxdWUoSCksRSxHKX19KTtvLmVhY2goe2FwcGVuZFRvOiJhcHBlbmQiLHByZXBl bmRUbzoicHJlcGVuZCIsaW5zZXJ0QmVmb3JlOiJiZWZvcmUiLGluc2VydEFmdGVy OiJhZnRlciIscmVwbGFjZUFsbDoicmVwbGFjZVdpdGgifSxmdW5jdGlvbihFLEYp e28uZm5bRV09ZnVuY3Rpb24oRyl7dmFyIEo9W10sTD1vKEcpO2Zvcih2YXIgSz0w LEg9TC5sZW5ndGg7SzxIO0srKyl7dmFyIEk9KEs+MD90aGlzLmNsb25lKHRydWUp OnRoaXMpLmdldCgpO28uZm5bRl0uYXBwbHkobyhMW0tdKSxJKTtKPUouY29uY2F0 KEkpfXJldHVybiB0aGlzLnB1c2hTdGFjayhKLEUsRyl9fSk7by5lYWNoKHtyZW1v dmVBdHRyOmZ1bmN0aW9uKEUpe28uYXR0cih0aGlzLEUsIiIpO2lmKHRoaXMubm9k ZVR5cGU9PTEpe3RoaXMucmVtb3ZlQXR0cmlidXRlKEUpfX0sYWRkQ2xhc3M6ZnVu Y3Rpb24oRSl7by5jbGFzc05hbWUuYWRkKHRoaXMsRSl9LHJlbW92ZUNsYXNzOmZ1 bmN0aW9uKEUpe28uY2xhc3NOYW1lLnJlbW92ZSh0aGlzLEUpfSx0b2dnbGVDbGFz czpmdW5jdGlvbihGLEUpe2lmKHR5cGVvZiBFIT09ImJvb2xlYW4iKXtFPSFvLmNs YXNzTmFtZS5oYXModGhpcyxGKX1vLmNsYXNzTmFtZVtFPyJhZGQiOiJyZW1vdmUi XSh0aGlzLEYpfSxyZW1vdmU6ZnVuY3Rpb24oRSl7aWYoIUV8fG8uZmlsdGVyKEUs W3RoaXNdKS5sZW5ndGgpe28oIioiLHRoaXMpLmFkZChbdGhpc10pLmVhY2goZnVu Y3Rpb24oKXtvLmV2ZW50LnJlbW92ZSh0aGlzKTtvLnJlbW92ZURhdGEodGhpcyl9 KTtpZih0aGlzLnBhcmVudE5vZGUpe3RoaXMucGFyZW50Tm9kZS5yZW1vdmVDaGls ZCh0aGlzKX19fSxlbXB0eTpmdW5jdGlvbigpe28odGhpcykuY2hpbGRyZW4oKS5y ZW1vdmUoKTt3aGlsZSh0aGlzLmZpcnN0Q2hpbGQpe3RoaXMucmVtb3ZlQ2hpbGQo dGhpcy5maXJzdENoaWxkKX19fSxmdW5jdGlvbihFLEYpe28uZm5bRV09ZnVuY3Rp b24oKXtyZXR1cm4gdGhpcy5lYWNoKEYsYXJndW1lbnRzKX19KTtmdW5jdGlvbiBq KEUsRil7cmV0dXJuIEVbMF0mJnBhcnNlSW50KG8uY3VyQ1NTKEVbMF0sRix0cnVl KSwxMCl8fDB9dmFyIGg9ImpRdWVyeSIrZSgpLHY9MCxBPXt9O28uZXh0ZW5kKHtj YWNoZTp7fSxkYXRhOmZ1bmN0aW9uKEYsRSxHKXtGPUY9PWw/QTpGO3ZhciBIPUZb aF07aWYoIUgpe0g9RltoXT0rK3Z9aWYoRSYmIW8uY2FjaGVbSF0pe28uY2FjaGVb SF09e319aWYoRyE9PWcpe28uY2FjaGVbSF1bRV09R31yZXR1cm4gRT9vLmNhY2hl W0hdW0VdOkh9LHJlbW92ZURhdGE6ZnVuY3Rpb24oRixFKXtGPUY9PWw/QTpGO3Zh ciBIPUZbaF07aWYoRSl7aWYoby5jYWNoZVtIXSl7ZGVsZXRlIG8uY2FjaGVbSF1b RV07RT0iIjtmb3IoRSBpbiBvLmNhY2hlW0hdKXticmVha31pZighRSl7by5yZW1v dmVEYXRhKEYpfX19ZWxzZXt0cnl7ZGVsZXRlIEZbaF19Y2F0Y2goRyl7aWYoRi5y ZW1vdmVBdHRyaWJ1dGUpe0YucmVtb3ZlQXR0cmlidXRlKGgpfX1kZWxldGUgby5j YWNoZVtIXX19LHF1ZXVlOmZ1bmN0aW9uKEYsRSxIKXtpZihGKXtFPShFfHwiZngi KSsicXVldWUiO3ZhciBHPW8uZGF0YShGLEUpO2lmKCFHfHxvLmlzQXJyYXkoSCkp e0c9by5kYXRhKEYsRSxvLm1ha2VBcnJheShIKSl9ZWxzZXtpZihIKXtHLnB1c2go SCl9fX1yZXR1cm4gR30sZGVxdWV1ZTpmdW5jdGlvbihILEcpe3ZhciBFPW8ucXVl dWUoSCxHKSxGPUUuc2hpZnQoKTtpZighR3x8Rz09PSJmeCIpe0Y9RVswXX1pZihG IT09Zyl7Ri5jYWxsKEgpfX19KTtvLmZuLmV4dGVuZCh7ZGF0YTpmdW5jdGlvbihF LEcpe3ZhciBIPUUuc3BsaXQoIi4iKTtIWzFdPUhbMV0/Ii4iK0hbMV06IiI7aWYo Rz09PWcpe3ZhciBGPXRoaXMudHJpZ2dlckhhbmRsZXIoImdldERhdGEiK0hbMV0r IiEiLFtIWzBdXSk7aWYoRj09PWcmJnRoaXMubGVuZ3RoKXtGPW8uZGF0YSh0aGlz WzBdLEUpfXJldHVybiBGPT09ZyYmSFsxXT90aGlzLmRhdGEoSFswXSk6Rn1lbHNl e3JldHVybiB0aGlzLnRyaWdnZXIoInNldERhdGEiK0hbMV0rIiEiLFtIWzBdLEdd KS5lYWNoKGZ1bmN0aW9uKCl7by5kYXRhKHRoaXMsRSxHKX0pfX0scmVtb3ZlRGF0 YTpmdW5jdGlvbihFKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7by5yZW1v dmVEYXRhKHRoaXMsRSl9KX0scXVldWU6ZnVuY3Rpb24oRSxGKXtpZih0eXBlb2Yg RSE9PSJzdHJpbmciKXtGPUU7RT0iZngifWlmKEY9PT1nKXtyZXR1cm4gby5xdWV1 ZSh0aGlzWzBdLEUpfXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgRz1v LnF1ZXVlKHRoaXMsRSxGKTtpZihFPT0iZngiJiZHLmxlbmd0aD09MSl7R1swXS5j YWxsKHRoaXMpfX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKEUpe3JldHVybiB0aGlzLmVh Y2goZnVuY3Rpb24oKXtvLmRlcXVldWUodGhpcyxFKX0pfX0pOwovKgogKiBTaXp6 bGUgQ1NTIFNlbGVjdG9yIEVuZ2luZSAtIHYwLjkuMwogKiAgQ29weXJpZ2h0IDIw MDksIFRoZSBEb2pvIEZvdW5kYXRpb24KICogIFJlbGVhc2VkIHVuZGVyIHRoZSBN SVQsIEJTRCwgYW5kIEdQTCBMaWNlbnNlcy4KICogIE1vcmUgaW5mb3JtYXRpb246 IGh0dHA6Ly9zaXp6bGVqcy5jb20vCiAqLwooZnVuY3Rpb24oKXt2YXIgUj0vKCg/ OlwoKD86XChbXigpXStcKXxbXigpXSspK1wpfFxbKD86XFtbXltcXV0qXF18Wyci XVteJyJdKlsnIl18W15bXF0nIl0rKStcXXxcXC58W14gPit+LChcW1xcXSspK3xb Pit+XSkoXHMqLFxzKik/L2csTD0wLEg9T2JqZWN0LnByb3RvdHlwZS50b1N0cmlu Zzt2YXIgRj1mdW5jdGlvbihZLFUsYWIsYWMpe2FiPWFifHxbXTtVPVV8fGRvY3Vt ZW50O2lmKFUubm9kZVR5cGUhPT0xJiZVLm5vZGVUeXBlIT09OSl7cmV0dXJuW119 aWYoIVl8fHR5cGVvZiBZIT09InN0cmluZyIpe3JldHVybiBhYn12YXIgWj1bXSxX LGFmLGFpLFQsYWQsVixYPXRydWU7Ui5sYXN0SW5kZXg9MDt3aGlsZSgoVz1SLmV4 ZWMoWSkpIT09bnVsbCl7Wi5wdXNoKFdbMV0pO2lmKFdbMl0pe1Y9UmVnRXhwLnJp Z2h0Q29udGV4dDticmVha319aWYoWi5sZW5ndGg+MSYmTS5leGVjKFkpKXtpZiha Lmxlbmd0aD09PTImJkkucmVsYXRpdmVbWlswXV0pe2FmPUooWlswXStaWzFdLFUp fWVsc2V7YWY9SS5yZWxhdGl2ZVtaWzBdXT9bVV06RihaLnNoaWZ0KCksVSk7d2hp bGUoWi5sZW5ndGgpe1k9Wi5zaGlmdCgpO2lmKEkucmVsYXRpdmVbWV0pe1krPVou c2hpZnQoKX1hZj1KKFksYWYpfX19ZWxzZXt2YXIgYWU9YWM/e2V4cHI6Wi5wb3Ao KSxzZXQ6RShhYyl9OkYuZmluZChaLnBvcCgpLFoubGVuZ3RoPT09MSYmVS5wYXJl bnROb2RlP1UucGFyZW50Tm9kZTpVLFEoVSkpO2FmPUYuZmlsdGVyKGFlLmV4cHIs YWUuc2V0KTtpZihaLmxlbmd0aD4wKXthaT1FKGFmKX1lbHNle1g9ZmFsc2V9d2hp bGUoWi5sZW5ndGgpe3ZhciBhaD1aLnBvcCgpLGFnPWFoO2lmKCFJLnJlbGF0aXZl W2FoXSl7YWg9IiJ9ZWxzZXthZz1aLnBvcCgpfWlmKGFnPT1udWxsKXthZz1VfUku cmVsYXRpdmVbYWhdKGFpLGFnLFEoVSkpfX1pZighYWkpe2FpPWFmfWlmKCFhaSl7 dGhyb3ciU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIiso YWh8fFkpfWlmKEguY2FsbChhaSk9PT0iW29iamVjdCBBcnJheV0iKXtpZighWCl7 YWIucHVzaC5hcHBseShhYixhaSl9ZWxzZXtpZihVLm5vZGVUeXBlPT09MSl7Zm9y KHZhciBhYT0wO2FpW2FhXSE9bnVsbDthYSsrKXtpZihhaVthYV0mJihhaVthYV09 PT10cnVlfHxhaVthYV0ubm9kZVR5cGU9PT0xJiZLKFUsYWlbYWFdKSkpe2FiLnB1 c2goYWZbYWFdKX19fWVsc2V7Zm9yKHZhciBhYT0wO2FpW2FhXSE9bnVsbDthYSsr KXtpZihhaVthYV0mJmFpW2FhXS5ub2RlVHlwZT09PTEpe2FiLnB1c2goYWZbYWFd KX19fX19ZWxzZXtFKGFpLGFiKX1pZihWKXtGKFYsVSxhYixhYyk7aWYoRyl7aGFz RHVwbGljYXRlPWZhbHNlO2FiLnNvcnQoRyk7aWYoaGFzRHVwbGljYXRlKXtmb3Io dmFyIGFhPTE7YWE8YWIubGVuZ3RoO2FhKyspe2lmKGFiW2FhXT09PWFiW2FhLTFd KXthYi5zcGxpY2UoYWEtLSwxKX19fX19cmV0dXJuIGFifTtGLm1hdGNoZXM9ZnVu Y3Rpb24oVCxVKXtyZXR1cm4gRihULG51bGwsbnVsbCxVKX07Ri5maW5kPWZ1bmN0 aW9uKGFhLFQsYWIpe3ZhciBaLFg7aWYoIWFhKXtyZXR1cm5bXX1mb3IodmFyIFc9 MCxWPUkub3JkZXIubGVuZ3RoO1c8VjtXKyspe3ZhciBZPUkub3JkZXJbV10sWDtp ZigoWD1JLm1hdGNoW1ldLmV4ZWMoYWEpKSl7dmFyIFU9UmVnRXhwLmxlZnRDb250 ZXh0O2lmKFUuc3Vic3RyKFUubGVuZ3RoLTEpIT09IlxcIil7WFsxXT0oWFsxXXx8 IiIpLnJlcGxhY2UoL1xcL2csIiIpO1o9SS5maW5kW1ldKFgsVCxhYik7aWYoWiE9 bnVsbCl7YWE9YWEucmVwbGFjZShJLm1hdGNoW1ldLCIiKTticmVha319fX1pZigh Wil7Wj1ULmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIil9cmV0dXJue3NldDpaLGV4 cHI6YWF9fTtGLmZpbHRlcj1mdW5jdGlvbihhZCxhYyxhZyxXKXt2YXIgVj1hZCxh aT1bXSxhYT1hYyxZLFQsWj1hYyYmYWNbMF0mJlEoYWNbMF0pO3doaWxlKGFkJiZh Yy5sZW5ndGgpe2Zvcih2YXIgYWIgaW4gSS5maWx0ZXIpe2lmKChZPUkubWF0Y2hb YWJdLmV4ZWMoYWQpKSE9bnVsbCl7dmFyIFU9SS5maWx0ZXJbYWJdLGFoLGFmO1Q9 ZmFsc2U7aWYoYWE9PWFpKXthaT1bXX1pZihJLnByZUZpbHRlclthYl0pe1k9SS5w cmVGaWx0ZXJbYWJdKFksYWEsYWcsYWksVyxaKTtpZighWSl7VD1haD10cnVlfWVs c2V7aWYoWT09PXRydWUpe2NvbnRpbnVlfX19aWYoWSl7Zm9yKHZhciBYPTA7KGFm PWFhW1hdKSE9bnVsbDtYKyspe2lmKGFmKXthaD1VKGFmLFksWCxhYSk7dmFyIGFl PVdeISFhaDtpZihhZyYmYWghPW51bGwpe2lmKGFlKXtUPXRydWV9ZWxzZXthYVtY XT1mYWxzZX19ZWxzZXtpZihhZSl7YWkucHVzaChhZik7VD10cnVlfX19fX1pZihh aCE9PWcpe2lmKCFhZyl7YWE9YWl9YWQ9YWQucmVwbGFjZShJLm1hdGNoW2FiXSwi Iik7aWYoIVQpe3JldHVybltdfWJyZWFrfX19aWYoYWQ9PVYpe2lmKFQ9PW51bGwp e3Rocm93IlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIr YWR9ZWxzZXticmVha319Vj1hZH1yZXR1cm4gYWF9O3ZhciBJPUYuc2VsZWN0b3Jz PXtvcmRlcjpbIklEIiwiTkFNRSIsIlRBRyJdLG1hdGNoOntJRDovIygoPzpbXHdc dTAwYzAtXHVGRkZGXy1dfFxcLikrKS8sQ0xBU1M6L1wuKCg/Oltcd1x1MDBjMC1c dUZGRkZfLV18XFwuKSspLyxOQU1FOi9cW25hbWU9WyciXSooKD86W1x3XHUwMGMw LVx1RkZGRl8tXXxcXC4pKylbJyJdKlxdLyxBVFRSOi9cW1xzKigoPzpbXHdcdTAw YzAtXHVGRkZGXy1dfFxcLikrKVxzKig/OihcUz89KVxzKihbJyJdKikoLio/KVwz fClccypcXS8sVEFHOi9eKCg/Oltcd1x1MDBjMC1cdUZGRkZcKl8tXXxcXC4pKykv LENISUxEOi86KG9ubHl8bnRofGxhc3R8Zmlyc3QpLWNoaWxkKD86XCgoZXZlbnxv ZGR8W1xkbistXSopXCkpPy8sUE9TOi86KG50aHxlcXxndHxsdHxmaXJzdHxsYXN0 fGV2ZW58b2RkKSg/OlwoKFxkKilcKSk/KD89W14tXXwkKS8sUFNFVURPOi86KCg/ Oltcd1x1MDBjMC1cdUZGRkZfLV18XFwuKSspKD86XCgoWyciXSopKCg/OlwoW15c KV0rXCl8W15cMlwoXCldKikrKVwyXCkpPy99LGF0dHJNYXA6eyJjbGFzcyI6ImNs YXNzTmFtZSIsImZvciI6Imh0bWxGb3IifSxhdHRySGFuZGxlOntocmVmOmZ1bmN0 aW9uKFQpe3JldHVybiBULmdldEF0dHJpYnV0ZSgiaHJlZiIpfX0scmVsYXRpdmU6 eyIrIjpmdW5jdGlvbihhYSxULFope3ZhciBYPXR5cGVvZiBUPT09InN0cmluZyIs YWI9WCYmIS9cVy8udGVzdChUKSxZPVgmJiFhYjtpZihhYiYmIVope1Q9VC50b1Vw cGVyQ2FzZSgpfWZvcih2YXIgVz0wLFY9YWEubGVuZ3RoLFU7VzxWO1crKyl7aWYo KFU9YWFbV10pKXt3aGlsZSgoVT1VLnByZXZpb3VzU2libGluZykmJlUubm9kZVR5 cGUhPT0xKXt9YWFbV109WXx8VSYmVS5ub2RlTmFtZT09PVQ/VXx8ZmFsc2U6VT09 PVR9fWlmKFkpe0YuZmlsdGVyKFQsYWEsdHJ1ZSl9fSwiPiI6ZnVuY3Rpb24oWixV LGFhKXt2YXIgWD10eXBlb2YgVT09PSJzdHJpbmciO2lmKFgmJiEvXFcvLnRlc3Qo VSkpe1U9YWE/VTpVLnRvVXBwZXJDYXNlKCk7Zm9yKHZhciBWPTAsVD1aLmxlbmd0 aDtWPFQ7VisrKXt2YXIgWT1aW1ZdO2lmKFkpe3ZhciBXPVkucGFyZW50Tm9kZTta W1ZdPVcubm9kZU5hbWU9PT1VP1c6ZmFsc2V9fX1lbHNle2Zvcih2YXIgVj0wLFQ9 Wi5sZW5ndGg7VjxUO1YrKyl7dmFyIFk9WltWXTtpZihZKXtaW1ZdPVg/WS5wYXJl bnROb2RlOlkucGFyZW50Tm9kZT09PVV9fWlmKFgpe0YuZmlsdGVyKFUsWix0cnVl KX19fSwiIjpmdW5jdGlvbihXLFUsWSl7dmFyIFY9TCsrLFQ9UztpZighVS5tYXRj aCgvXFcvKSl7dmFyIFg9VT1ZP1U6VS50b1VwcGVyQ2FzZSgpO1Q9UH1UKCJwYXJl bnROb2RlIixVLFYsVyxYLFkpfSwifiI6ZnVuY3Rpb24oVyxVLFkpe3ZhciBWPUwr KyxUPVM7aWYodHlwZW9mIFU9PT0ic3RyaW5nIiYmIVUubWF0Y2goL1xXLykpe3Zh ciBYPVU9WT9VOlUudG9VcHBlckNhc2UoKTtUPVB9VCgicHJldmlvdXNTaWJsaW5n IixVLFYsVyxYLFkpfX0sZmluZDp7SUQ6ZnVuY3Rpb24oVSxWLFcpe2lmKHR5cGVv ZiBWLmdldEVsZW1lbnRCeUlkIT09InVuZGVmaW5lZCImJiFXKXt2YXIgVD1WLmdl dEVsZW1lbnRCeUlkKFVbMV0pO3JldHVybiBUP1tUXTpbXX19LE5BTUU6ZnVuY3Rp b24oVixZLFope2lmKHR5cGVvZiBZLmdldEVsZW1lbnRzQnlOYW1lIT09InVuZGVm aW5lZCIpe3ZhciBVPVtdLFg9WS5nZXRFbGVtZW50c0J5TmFtZShWWzFdKTtmb3Io dmFyIFc9MCxUPVgubGVuZ3RoO1c8VDtXKyspe2lmKFhbV10uZ2V0QXR0cmlidXRl KCJuYW1lIik9PT1WWzFdKXtVLnB1c2goWFtXXSl9fXJldHVybiBVLmxlbmd0aD09 PTA/bnVsbDpVfX0sVEFHOmZ1bmN0aW9uKFQsVSl7cmV0dXJuIFUuZ2V0RWxlbWVu dHNCeVRhZ05hbWUoVFsxXSl9fSxwcmVGaWx0ZXI6e0NMQVNTOmZ1bmN0aW9uKFcs VSxWLFQsWixhYSl7Vz0iICIrV1sxXS5yZXBsYWNlKC9cXC9nLCIiKSsiICI7aWYo YWEpe3JldHVybiBXfWZvcih2YXIgWD0wLFk7KFk9VVtYXSkhPW51bGw7WCsrKXtp ZihZKXtpZihaXihZLmNsYXNzTmFtZSYmKCIgIitZLmNsYXNzTmFtZSsiICIpLmlu ZGV4T2YoVyk+PTApKXtpZighVil7VC5wdXNoKFkpfX1lbHNle2lmKFYpe1VbWF09 ZmFsc2V9fX19cmV0dXJuIGZhbHNlfSxJRDpmdW5jdGlvbihUKXtyZXR1cm4gVFsx XS5yZXBsYWNlKC9cXC9nLCIiKX0sVEFHOmZ1bmN0aW9uKFUsVCl7Zm9yKHZhciBW PTA7VFtWXT09PWZhbHNlO1YrKyl7fXJldHVybiBUW1ZdJiZRKFRbVl0pP1VbMV06 VVsxXS50b1VwcGVyQ2FzZSgpfSxDSElMRDpmdW5jdGlvbihUKXtpZihUWzFdPT0i bnRoIil7dmFyIFU9LygtPykoXGQqKW4oKD86XCt8LSk/XGQqKS8uZXhlYyhUWzJd PT0iZXZlbiImJiIybiJ8fFRbMl09PSJvZGQiJiYiMm4rMSJ8fCEvXEQvLnRlc3Qo VFsyXSkmJiIwbisiK1RbMl18fFRbMl0pO1RbMl09KFVbMV0rKFVbMl18fDEpKS0w O1RbM109VVszXS0wfVRbMF09TCsrO3JldHVybiBUfSxBVFRSOmZ1bmN0aW9uKFgs VSxWLFQsWSxaKXt2YXIgVz1YWzFdLnJlcGxhY2UoL1xcL2csIiIpO2lmKCFaJiZJ LmF0dHJNYXBbV10pe1hbMV09SS5hdHRyTWFwW1ddfWlmKFhbMl09PT0ifj0iKXtY WzRdPSIgIitYWzRdKyIgIn1yZXR1cm4gWH0sUFNFVURPOmZ1bmN0aW9uKFgsVSxW LFQsWSl7aWYoWFsxXT09PSJub3QiKXtpZihYWzNdLm1hdGNoKFIpLmxlbmd0aD4x fHwvXlx3Ly50ZXN0KFhbM10pKXtYWzNdPUYoWFszXSxudWxsLG51bGwsVSl9ZWxz ZXt2YXIgVz1GLmZpbHRlcihYWzNdLFUsVix0cnVlXlkpO2lmKCFWKXtULnB1c2gu YXBwbHkoVCxXKX1yZXR1cm4gZmFsc2V9fWVsc2V7aWYoSS5tYXRjaC5QT1MudGVz dChYWzBdKXx8SS5tYXRjaC5DSElMRC50ZXN0KFhbMF0pKXtyZXR1cm4gdHJ1ZX19 cmV0dXJuIFh9LFBPUzpmdW5jdGlvbihUKXtULnVuc2hpZnQodHJ1ZSk7cmV0dXJu IFR9fSxmaWx0ZXJzOntlbmFibGVkOmZ1bmN0aW9uKFQpe3JldHVybiBULmRpc2Fi bGVkPT09ZmFsc2UmJlQudHlwZSE9PSJoaWRkZW4ifSxkaXNhYmxlZDpmdW5jdGlv bihUKXtyZXR1cm4gVC5kaXNhYmxlZD09PXRydWV9LGNoZWNrZWQ6ZnVuY3Rpb24o VCl7cmV0dXJuIFQuY2hlY2tlZD09PXRydWV9LHNlbGVjdGVkOmZ1bmN0aW9uKFQp e1QucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4O3JldHVybiBULnNlbGVjdGVkPT09 dHJ1ZX0scGFyZW50OmZ1bmN0aW9uKFQpe3JldHVybiAhIVQuZmlyc3RDaGlsZH0s ZW1wdHk6ZnVuY3Rpb24oVCl7cmV0dXJuICFULmZpcnN0Q2hpbGR9LGhhczpmdW5j dGlvbihWLFUsVCl7cmV0dXJuICEhRihUWzNdLFYpLmxlbmd0aH0saGVhZGVyOmZ1 bmN0aW9uKFQpe3JldHVybi9oXGQvaS50ZXN0KFQubm9kZU5hbWUpfSx0ZXh0OmZ1 bmN0aW9uKFQpe3JldHVybiJ0ZXh0Ij09PVQudHlwZX0scmFkaW86ZnVuY3Rpb24o VCl7cmV0dXJuInJhZGlvIj09PVQudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24oVCl7 cmV0dXJuImNoZWNrYm94Ij09PVQudHlwZX0sZmlsZTpmdW5jdGlvbihUKXtyZXR1 cm4iZmlsZSI9PT1ULnR5cGV9LHBhc3N3b3JkOmZ1bmN0aW9uKFQpe3JldHVybiJw YXNzd29yZCI9PT1ULnR5cGV9LHN1Ym1pdDpmdW5jdGlvbihUKXtyZXR1cm4ic3Vi bWl0Ij09PVQudHlwZX0saW1hZ2U6ZnVuY3Rpb24oVCl7cmV0dXJuImltYWdlIj09 PVQudHlwZX0scmVzZXQ6ZnVuY3Rpb24oVCl7cmV0dXJuInJlc2V0Ij09PVQudHlw ZX0sYnV0dG9uOmZ1bmN0aW9uKFQpe3JldHVybiJidXR0b24iPT09VC50eXBlfHxU Lm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PT0iQlVUVE9OIn0saW5wdXQ6ZnVuY3Rp b24oVCl7cmV0dXJuL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24vaS50ZXN0 KFQubm9kZU5hbWUpfX0sc2V0RmlsdGVyczp7Zmlyc3Q6ZnVuY3Rpb24oVSxUKXty ZXR1cm4gVD09PTB9LGxhc3Q6ZnVuY3Rpb24oVixVLFQsVyl7cmV0dXJuIFU9PT1X Lmxlbmd0aC0xfSxldmVuOmZ1bmN0aW9uKFUsVCl7cmV0dXJuIFQlMj09PTB9LG9k ZDpmdW5jdGlvbihVLFQpe3JldHVybiBUJTI9PT0xfSxsdDpmdW5jdGlvbihWLFUs VCl7cmV0dXJuIFU8VFszXS0wfSxndDpmdW5jdGlvbihWLFUsVCl7cmV0dXJuIFU+ VFszXS0wfSxudGg6ZnVuY3Rpb24oVixVLFQpe3JldHVybiBUWzNdLTA9PVV9LGVx OmZ1bmN0aW9uKFYsVSxUKXtyZXR1cm4gVFszXS0wPT1VfX0sZmlsdGVyOntQU0VV RE86ZnVuY3Rpb24oWixWLFcsYWEpe3ZhciBVPVZbMV0sWD1JLmZpbHRlcnNbVV07 aWYoWCl7cmV0dXJuIFgoWixXLFYsYWEpfWVsc2V7aWYoVT09PSJjb250YWlucyIp e3JldHVybihaLnRleHRDb250ZW50fHxaLmlubmVyVGV4dHx8IiIpLmluZGV4T2Yo VlszXSk+PTB9ZWxzZXtpZihVPT09Im5vdCIpe3ZhciBZPVZbM107Zm9yKHZhciBX PTAsVD1ZLmxlbmd0aDtXPFQ7VysrKXtpZihZW1ddPT09Wil7cmV0dXJuIGZhbHNl fX1yZXR1cm4gdHJ1ZX19fX0sQ0hJTEQ6ZnVuY3Rpb24oVCxXKXt2YXIgWj1XWzFd LFU9VDtzd2l0Y2goWil7Y2FzZSJvbmx5IjpjYXNlImZpcnN0Ijp3aGlsZShVPVUu cHJldmlvdXNTaWJsaW5nKXtpZihVLm5vZGVUeXBlPT09MSl7cmV0dXJuIGZhbHNl fX1pZihaPT0iZmlyc3QiKXtyZXR1cm4gdHJ1ZX1VPVQ7Y2FzZSJsYXN0Ijp3aGls ZShVPVUubmV4dFNpYmxpbmcpe2lmKFUubm9kZVR5cGU9PT0xKXtyZXR1cm4gZmFs c2V9fXJldHVybiB0cnVlO2Nhc2UibnRoIjp2YXIgVj1XWzJdLGFjPVdbM107aWYo Vj09MSYmYWM9PTApe3JldHVybiB0cnVlfXZhciBZPVdbMF0sYWI9VC5wYXJlbnRO b2RlO2lmKGFiJiYoYWIuc2l6Y2FjaGUhPT1ZfHwhVC5ub2RlSW5kZXgpKXt2YXIg WD0wO2ZvcihVPWFiLmZpcnN0Q2hpbGQ7VTtVPVUubmV4dFNpYmxpbmcpe2lmKFUu bm9kZVR5cGU9PT0xKXtVLm5vZGVJbmRleD0rK1h9fWFiLnNpemNhY2hlPVl9dmFy IGFhPVQubm9kZUluZGV4LWFjO2lmKFY9PTApe3JldHVybiBhYT09MH1lbHNle3Jl dHVybihhYSVWPT0wJiZhYS9WPj0wKX19fSxJRDpmdW5jdGlvbihVLFQpe3JldHVy biBVLm5vZGVUeXBlPT09MSYmVS5nZXRBdHRyaWJ1dGUoImlkIik9PT1UfSxUQUc6 ZnVuY3Rpb24oVSxUKXtyZXR1cm4oVD09PSIqIiYmVS5ub2RlVHlwZT09PTEpfHxV Lm5vZGVOYW1lPT09VH0sQ0xBU1M6ZnVuY3Rpb24oVSxUKXtyZXR1cm4oIiAiKyhV LmNsYXNzTmFtZXx8VS5nZXRBdHRyaWJ1dGUoImNsYXNzIikpKyIgIikuaW5kZXhP ZihUKT4tMX0sQVRUUjpmdW5jdGlvbihZLFcpe3ZhciBWPVdbMV0sVD1JLmF0dHJI YW5kbGVbVl0/SS5hdHRySGFuZGxlW1ZdKFkpOllbVl0hPW51bGw/WVtWXTpZLmdl dEF0dHJpYnV0ZShWKSxaPVQrIiIsWD1XWzJdLFU9V1s0XTtyZXR1cm4gVD09bnVs bD9YPT09IiE9IjpYPT09Ij0iP1o9PT1VOlg9PT0iKj0iP1ouaW5kZXhPZihVKT49 MDpYPT09In49Ij8oIiAiK1orIiAiKS5pbmRleE9mKFUpPj0wOiFVP1omJlQhPT1m YWxzZTpYPT09IiE9Ij9aIT1VOlg9PT0iXj0iP1ouaW5kZXhPZihVKT09PTA6WD09 PSIkPSI/Wi5zdWJzdHIoWi5sZW5ndGgtVS5sZW5ndGgpPT09VTpYPT09Inw9Ij9a PT09VXx8Wi5zdWJzdHIoMCxVLmxlbmd0aCsxKT09PVUrIi0iOmZhbHNlfSxQT1M6 ZnVuY3Rpb24oWCxVLFYsWSl7dmFyIFQ9VVsyXSxXPUkuc2V0RmlsdGVyc1tUXTtp ZihXKXtyZXR1cm4gVyhYLFYsVSxZKX19fX07dmFyIE09SS5tYXRjaC5QT1M7Zm9y KHZhciBPIGluIEkubWF0Y2gpe0kubWF0Y2hbT109UmVnRXhwKEkubWF0Y2hbT10u c291cmNlKy8oPyFbXlxbXSpcXSkoPyFbXlwoXSpcKSkvLnNvdXJjZSl9dmFyIEU9 ZnVuY3Rpb24oVSxUKXtVPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKFUpO2lm KFQpe1QucHVzaC5hcHBseShULFUpO3JldHVybiBUfXJldHVybiBVfTt0cnl7QXJy YXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50 LmNoaWxkTm9kZXMpfWNhdGNoKE4pe0U9ZnVuY3Rpb24oWCxXKXt2YXIgVT1XfHxb XTtpZihILmNhbGwoWCk9PT0iW29iamVjdCBBcnJheV0iKXtBcnJheS5wcm90b3R5 cGUucHVzaC5hcHBseShVLFgpfWVsc2V7aWYodHlwZW9mIFgubGVuZ3RoPT09Im51 bWJlciIpe2Zvcih2YXIgVj0wLFQ9WC5sZW5ndGg7VjxUO1YrKyl7VS5wdXNoKFhb Vl0pfX1lbHNle2Zvcih2YXIgVj0wO1hbVl07VisrKXtVLnB1c2goWFtWXSl9fX1y ZXR1cm4gVX19dmFyIEc7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNvbXBh cmVEb2N1bWVudFBvc2l0aW9uKXtHPWZ1bmN0aW9uKFUsVCl7dmFyIFY9VS5jb21w YXJlRG9jdW1lbnRQb3NpdGlvbihUKSY0Py0xOlU9PT1UPzA6MTtpZihWPT09MCl7 aGFzRHVwbGljYXRlPXRydWV9cmV0dXJuIFZ9fWVsc2V7aWYoInNvdXJjZUluZGV4 IiBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpe0c9ZnVuY3Rpb24oVSxUKXt2 YXIgVj1VLnNvdXJjZUluZGV4LVQuc291cmNlSW5kZXg7aWYoVj09PTApe2hhc0R1 cGxpY2F0ZT10cnVlfXJldHVybiBWfX1lbHNle2lmKGRvY3VtZW50LmNyZWF0ZVJh bmdlKXtHPWZ1bmN0aW9uKFcsVSl7dmFyIFY9Vy5vd25lckRvY3VtZW50LmNyZWF0 ZVJhbmdlKCksVD1VLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtWLnNlbGVj dE5vZGUoVyk7Vi5jb2xsYXBzZSh0cnVlKTtULnNlbGVjdE5vZGUoVSk7VC5jb2xs YXBzZSh0cnVlKTt2YXIgWD1WLmNvbXBhcmVCb3VuZGFyeVBvaW50cyhSYW5nZS5T VEFSVF9UT19FTkQsVCk7aWYoWD09PTApe2hhc0R1cGxpY2F0ZT10cnVlfXJldHVy biBYfX19fShmdW5jdGlvbigpe3ZhciBVPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo ImZvcm0iKSxWPSJzY3JpcHQiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpO1UuaW5uZXJI VE1MPSI8aW5wdXQgbmFtZT0nIitWKyInLz4iO3ZhciBUPWRvY3VtZW50LmRvY3Vt ZW50RWxlbWVudDtULmluc2VydEJlZm9yZShVLFQuZmlyc3RDaGlsZCk7aWYoISFk b2N1bWVudC5nZXRFbGVtZW50QnlJZChWKSl7SS5maW5kLklEPWZ1bmN0aW9uKFgs WSxaKXtpZih0eXBlb2YgWS5nZXRFbGVtZW50QnlJZCE9PSJ1bmRlZmluZWQiJiYh Wil7dmFyIFc9WS5nZXRFbGVtZW50QnlJZChYWzFdKTtyZXR1cm4gVz9XLmlkPT09 WFsxXXx8dHlwZW9mIFcuZ2V0QXR0cmlidXRlTm9kZSE9PSJ1bmRlZmluZWQiJiZX LmdldEF0dHJpYnV0ZU5vZGUoImlkIikubm9kZVZhbHVlPT09WFsxXT9bV106Zzpb XX19O0kuZmlsdGVyLklEPWZ1bmN0aW9uKFksVyl7dmFyIFg9dHlwZW9mIFkuZ2V0 QXR0cmlidXRlTm9kZSE9PSJ1bmRlZmluZWQiJiZZLmdldEF0dHJpYnV0ZU5vZGUo ImlkIik7cmV0dXJuIFkubm9kZVR5cGU9PT0xJiZYJiZYLm5vZGVWYWx1ZT09PVd9 fVQucmVtb3ZlQ2hpbGQoVSl9KSgpOyhmdW5jdGlvbigpe3ZhciBUPWRvY3VtZW50 LmNyZWF0ZUVsZW1lbnQoImRpdiIpO1QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl YXRlQ29tbWVudCgiIikpO2lmKFQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKS5s ZW5ndGg+MCl7SS5maW5kLlRBRz1mdW5jdGlvbihVLFkpe3ZhciBYPVkuZ2V0RWxl bWVudHNCeVRhZ05hbWUoVVsxXSk7aWYoVVsxXT09PSIqIil7dmFyIFc9W107Zm9y KHZhciBWPTA7WFtWXTtWKyspe2lmKFhbVl0ubm9kZVR5cGU9PT0xKXtXLnB1c2go WFtWXSl9fVg9V31yZXR1cm4gWH19VC5pbm5lckhUTUw9IjxhIGhyZWY9JyMnPjwv YT4iO2lmKFQuZmlyc3RDaGlsZCYmdHlwZW9mIFQuZmlyc3RDaGlsZC5nZXRBdHRy aWJ1dGUhPT0idW5kZWZpbmVkIiYmVC5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgi aHJlZiIpIT09IiMiKXtJLmF0dHJIYW5kbGUuaHJlZj1mdW5jdGlvbihVKXtyZXR1 cm4gVS5nZXRBdHRyaWJ1dGUoImhyZWYiLDIpfX19KSgpO2lmKGRvY3VtZW50LnF1 ZXJ5U2VsZWN0b3JBbGwpeyhmdW5jdGlvbigpe3ZhciBUPUYsVT1kb2N1bWVudC5j cmVhdGVFbGVtZW50KCJkaXYiKTtVLmlubmVySFRNTD0iPHAgY2xhc3M9J1RFU1Qn PjwvcD4iO2lmKFUucXVlcnlTZWxlY3RvckFsbCYmVS5xdWVyeVNlbGVjdG9yQWxs KCIuVEVTVCIpLmxlbmd0aD09PTApe3JldHVybn1GPWZ1bmN0aW9uKFksWCxWLFcp e1g9WHx8ZG9jdW1lbnQ7aWYoIVcmJlgubm9kZVR5cGU9PT05JiYhUShYKSl7dHJ5 e3JldHVybiBFKFgucXVlcnlTZWxlY3RvckFsbChZKSxWKX1jYXRjaChaKXt9fXJl dHVybiBUKFksWCxWLFcpfTtGLmZpbmQ9VC5maW5kO0YuZmlsdGVyPVQuZmlsdGVy O0Yuc2VsZWN0b3JzPVQuc2VsZWN0b3JzO0YubWF0Y2hlcz1ULm1hdGNoZXN9KSgp fWlmKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmRvY3VtZW50LmRv Y3VtZW50RWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXsoZnVuY3Rpb24o KXt2YXIgVD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtULmlubmVySFRN TD0iPGRpdiBjbGFzcz0ndGVzdCBlJz48L2Rpdj48ZGl2IGNsYXNzPSd0ZXN0Jz48 L2Rpdj4iO2lmKFQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aD09 PTApe3JldHVybn1ULmxhc3RDaGlsZC5jbGFzc05hbWU9ImUiO2lmKFQuZ2V0RWxl bWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aD09PTEpe3JldHVybn1JLm9yZGVy LnNwbGljZSgxLDAsIkNMQVNTIik7SS5maW5kLkNMQVNTPWZ1bmN0aW9uKFUsVixX KXtpZih0eXBlb2YgVi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lIT09InVuZGVmaW5l ZCImJiFXKXtyZXR1cm4gVi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFVbMV0pfX19 KSgpfWZ1bmN0aW9uIFAoVSxaLFksYWQsYWEsYWMpe3ZhciBhYj1VPT0icHJldmlv dXNTaWJsaW5nIiYmIWFjO2Zvcih2YXIgVz0wLFY9YWQubGVuZ3RoO1c8VjtXKysp e3ZhciBUPWFkW1ddO2lmKFQpe2lmKGFiJiZULm5vZGVUeXBlPT09MSl7VC5zaXpj YWNoZT1ZO1Quc2l6c2V0PVd9VD1UW1VdO3ZhciBYPWZhbHNlO3doaWxlKFQpe2lm KFQuc2l6Y2FjaGU9PT1ZKXtYPWFkW1Quc2l6c2V0XTticmVha31pZihULm5vZGVU eXBlPT09MSYmIWFjKXtULnNpemNhY2hlPVk7VC5zaXpzZXQ9V31pZihULm5vZGVO YW1lPT09Wil7WD1UO2JyZWFrfVQ9VFtVXX1hZFtXXT1YfX19ZnVuY3Rpb24gUyhV LFosWSxhZCxhYSxhYyl7dmFyIGFiPVU9PSJwcmV2aW91c1NpYmxpbmciJiYhYWM7 Zm9yKHZhciBXPTAsVj1hZC5sZW5ndGg7VzxWO1crKyl7dmFyIFQ9YWRbV107aWYo VCl7aWYoYWImJlQubm9kZVR5cGU9PT0xKXtULnNpemNhY2hlPVk7VC5zaXpzZXQ9 V31UPVRbVV07dmFyIFg9ZmFsc2U7d2hpbGUoVCl7aWYoVC5zaXpjYWNoZT09PVkp e1g9YWRbVC5zaXpzZXRdO2JyZWFrfWlmKFQubm9kZVR5cGU9PT0xKXtpZighYWMp e1Quc2l6Y2FjaGU9WTtULnNpenNldD1XfWlmKHR5cGVvZiBaIT09InN0cmluZyIp e2lmKFQ9PT1aKXtYPXRydWU7YnJlYWt9fWVsc2V7aWYoRi5maWx0ZXIoWixbVF0p Lmxlbmd0aD4wKXtYPVQ7YnJlYWt9fX1UPVRbVV19YWRbV109WH19fXZhciBLPWRv Y3VtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uP2Z1bmN0aW9uKFUsVCl7cmV0 dXJuIFUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oVCkmMTZ9OmZ1bmN0aW9uKFUs VCl7cmV0dXJuIFUhPT1UJiYoVS5jb250YWlucz9VLmNvbnRhaW5zKFQpOnRydWUp fTt2YXIgUT1mdW5jdGlvbihUKXtyZXR1cm4gVC5ub2RlVHlwZT09PTkmJlQuZG9j dW1lbnRFbGVtZW50Lm5vZGVOYW1lIT09IkhUTUwifHwhIVQub3duZXJEb2N1bWVu dCYmUShULm93bmVyRG9jdW1lbnQpfTt2YXIgSj1mdW5jdGlvbihULGFhKXt2YXIg Vz1bXSxYPSIiLFksVj1hYS5ub2RlVHlwZT9bYWFdOmFhO3doaWxlKChZPUkubWF0 Y2guUFNFVURPLmV4ZWMoVCkpKXtYKz1ZWzBdO1Q9VC5yZXBsYWNlKEkubWF0Y2gu UFNFVURPLCIiKX1UPUkucmVsYXRpdmVbVF0/VCsiKiI6VDtmb3IodmFyIFo9MCxV PVYubGVuZ3RoO1o8VTtaKyspe0YoVCxWW1pdLFcpfXJldHVybiBGLmZpbHRlcihY LFcpfTtvLmZpbmQ9RjtvLmZpbHRlcj1GLmZpbHRlcjtvLmV4cHI9Ri5zZWxlY3Rv cnM7by5leHByWyI6Il09by5leHByLmZpbHRlcnM7Ri5zZWxlY3RvcnMuZmlsdGVy cy5oaWRkZW49ZnVuY3Rpb24oVCl7cmV0dXJuIFQub2Zmc2V0V2lkdGg9PT0wfHxU Lm9mZnNldEhlaWdodD09PTB9O0Yuc2VsZWN0b3JzLmZpbHRlcnMudmlzaWJsZT1m dW5jdGlvbihUKXtyZXR1cm4gVC5vZmZzZXRXaWR0aD4wfHxULm9mZnNldEhlaWdo dD4wfTtGLnNlbGVjdG9ycy5maWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKFQpe3Jl dHVybiBvLmdyZXAoby50aW1lcnMsZnVuY3Rpb24oVSl7cmV0dXJuIFQ9PT1VLmVs ZW19KS5sZW5ndGh9O28ubXVsdGlGaWx0ZXI9ZnVuY3Rpb24oVixULFUpe2lmKFUp e1Y9Ijpub3QoIitWKyIpIn1yZXR1cm4gRi5tYXRjaGVzKFYsVCl9O28uZGlyPWZ1 bmN0aW9uKFYsVSl7dmFyIFQ9W10sVz1WW1VdO3doaWxlKFcmJlchPWRvY3VtZW50 KXtpZihXLm5vZGVUeXBlPT0xKXtULnB1c2goVyl9Vz1XW1VdfXJldHVybiBUfTtv Lm50aD1mdW5jdGlvbihYLFQsVixXKXtUPVR8fDE7dmFyIFU9MDtmb3IoO1g7WD1Y W1ZdKXtpZihYLm5vZGVUeXBlPT0xJiYrK1U9PVQpe2JyZWFrfX1yZXR1cm4gWH07 by5zaWJsaW5nPWZ1bmN0aW9uKFYsVSl7dmFyIFQ9W107Zm9yKDtWO1Y9Vi5uZXh0 U2libGluZyl7aWYoVi5ub2RlVHlwZT09MSYmViE9VSl7VC5wdXNoKFYpfX1yZXR1 cm4gVH07cmV0dXJuO2wuU2l6emxlPUZ9KSgpO28uZXZlbnQ9e2FkZDpmdW5jdGlv bihJLEYsSCxLKXtpZihJLm5vZGVUeXBlPT0zfHxJLm5vZGVUeXBlPT04KXtyZXR1 cm59aWYoSS5zZXRJbnRlcnZhbCYmSSE9bCl7ST1sfWlmKCFILmd1aWQpe0guZ3Vp ZD10aGlzLmd1aWQrK31pZihLIT09Zyl7dmFyIEc9SDtIPXRoaXMucHJveHkoRyk7 SC5kYXRhPUt9dmFyIEU9by5kYXRhKEksImV2ZW50cyIpfHxvLmRhdGEoSSwiZXZl bnRzIix7fSksSj1vLmRhdGEoSSwiaGFuZGxlIil8fG8uZGF0YShJLCJoYW5kbGUi LGZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBvIT09InVuZGVmaW5lZCImJiFvLmV2 ZW50LnRyaWdnZXJlZD9vLmV2ZW50LmhhbmRsZS5hcHBseShhcmd1bWVudHMuY2Fs bGVlLmVsZW0sYXJndW1lbnRzKTpnfSk7Si5lbGVtPUk7by5lYWNoKEYuc3BsaXQo L1xzKy8pLGZ1bmN0aW9uKE0sTil7dmFyIE89Ti5zcGxpdCgiLiIpO049Ty5zaGlm dCgpO0gudHlwZT1PLnNsaWNlKCkuc29ydCgpLmpvaW4oIi4iKTt2YXIgTD1FW05d O2lmKG8uZXZlbnQuc3BlY2lhbEFsbFtOXSl7by5ldmVudC5zcGVjaWFsQWxsW05d LnNldHVwLmNhbGwoSSxLLE8pfWlmKCFMKXtMPUVbTl09e307aWYoIW8uZXZlbnQu c3BlY2lhbFtOXXx8by5ldmVudC5zcGVjaWFsW05dLnNldHVwLmNhbGwoSSxLLE8p PT09ZmFsc2Upe2lmKEkuYWRkRXZlbnRMaXN0ZW5lcil7SS5hZGRFdmVudExpc3Rl bmVyKE4sSixmYWxzZSl9ZWxzZXtpZihJLmF0dGFjaEV2ZW50KXtJLmF0dGFjaEV2 ZW50KCJvbiIrTixKKX19fX1MW0guZ3VpZF09SDtvLmV2ZW50Lmdsb2JhbFtOXT10 cnVlfSk7ST1udWxsfSxndWlkOjEsZ2xvYmFsOnt9LHJlbW92ZTpmdW5jdGlvbihL LEgsSil7aWYoSy5ub2RlVHlwZT09M3x8Sy5ub2RlVHlwZT09OCl7cmV0dXJufXZh ciBHPW8uZGF0YShLLCJldmVudHMiKSxGLEU7aWYoRyl7aWYoSD09PWd8fCh0eXBl b2YgSD09PSJzdHJpbmciJiZILmNoYXJBdCgwKT09Ii4iKSl7Zm9yKHZhciBJIGlu IEcpe3RoaXMucmVtb3ZlKEssSSsoSHx8IiIpKX19ZWxzZXtpZihILnR5cGUpe0o9 SC5oYW5kbGVyO0g9SC50eXBlfW8uZWFjaChILnNwbGl0KC9ccysvKSxmdW5jdGlv bihNLE8pe3ZhciBRPU8uc3BsaXQoIi4iKTtPPVEuc2hpZnQoKTt2YXIgTj1SZWdF eHAoIihefFxcLikiK1Euc2xpY2UoKS5zb3J0KCkuam9pbigiLipcXC4iKSsiKFxc LnwkKSIpO2lmKEdbT10pe2lmKEope2RlbGV0ZSBHW09dW0ouZ3VpZF19ZWxzZXtm b3IodmFyIFAgaW4gR1tPXSl7aWYoTi50ZXN0KEdbT11bUF0udHlwZSkpe2RlbGV0 ZSBHW09dW1BdfX19aWYoby5ldmVudC5zcGVjaWFsQWxsW09dKXtvLmV2ZW50LnNw ZWNpYWxBbGxbT10udGVhcmRvd24uY2FsbChLLFEpfWZvcihGIGluIEdbT10pe2Jy ZWFrfWlmKCFGKXtpZighby5ldmVudC5zcGVjaWFsW09dfHxvLmV2ZW50LnNwZWNp YWxbT10udGVhcmRvd24uY2FsbChLLFEpPT09ZmFsc2Upe2lmKEsucmVtb3ZlRXZl bnRMaXN0ZW5lcil7Sy5yZW1vdmVFdmVudExpc3RlbmVyKE8sby5kYXRhKEssImhh bmRsZSIpLGZhbHNlKX1lbHNle2lmKEsuZGV0YWNoRXZlbnQpe0suZGV0YWNoRXZl bnQoIm9uIitPLG8uZGF0YShLLCJoYW5kbGUiKSl9fX1GPW51bGw7ZGVsZXRlIEdb T119fX0pfWZvcihGIGluIEcpe2JyZWFrfWlmKCFGKXt2YXIgTD1vLmRhdGEoSywi aGFuZGxlIik7aWYoTCl7TC5lbGVtPW51bGx9by5yZW1vdmVEYXRhKEssImV2ZW50 cyIpO28ucmVtb3ZlRGF0YShLLCJoYW5kbGUiKX19fSx0cmlnZ2VyOmZ1bmN0aW9u KEksSyxILEUpe3ZhciBHPUkudHlwZXx8STtpZighRSl7ST10eXBlb2YgST09PSJv YmplY3QiP0lbaF0/STpvLmV4dGVuZChvLkV2ZW50KEcpLEkpOm8uRXZlbnQoRyk7 aWYoRy5pbmRleE9mKCIhIik+PTApe0kudHlwZT1HPUcuc2xpY2UoMCwtMSk7SS5l eGNsdXNpdmU9dHJ1ZX1pZighSCl7SS5zdG9wUHJvcGFnYXRpb24oKTtpZih0aGlz Lmdsb2JhbFtHXSl7by5lYWNoKG8uY2FjaGUsZnVuY3Rpb24oKXtpZih0aGlzLmV2 ZW50cyYmdGhpcy5ldmVudHNbR10pe28uZXZlbnQudHJpZ2dlcihJLEssdGhpcy5o YW5kbGUuZWxlbSl9fSl9fWlmKCFIfHxILm5vZGVUeXBlPT0zfHxILm5vZGVUeXBl PT04KXtyZXR1cm4gZ31JLnJlc3VsdD1nO0kudGFyZ2V0PUg7Sz1vLm1ha2VBcnJh eShLKTtLLnVuc2hpZnQoSSl9SS5jdXJyZW50VGFyZ2V0PUg7dmFyIEo9by5kYXRh KEgsImhhbmRsZSIpO2lmKEope0ouYXBwbHkoSCxLKX1pZigoIUhbR118fChvLm5v ZGVOYW1lKEgsImEiKSYmRz09ImNsaWNrIikpJiZIWyJvbiIrR10mJkhbIm9uIitH XS5hcHBseShILEspPT09ZmFsc2Upe0kucmVzdWx0PWZhbHNlfWlmKCFFJiZIW0dd JiYhSS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmIShvLm5vZGVOYW1lKEgsImEiKSYm Rz09ImNsaWNrIikpe3RoaXMudHJpZ2dlcmVkPXRydWU7dHJ5e0hbR10oKX1jYXRj aChMKXt9fXRoaXMudHJpZ2dlcmVkPWZhbHNlO2lmKCFJLmlzUHJvcGFnYXRpb25T dG9wcGVkKCkpe3ZhciBGPUgucGFyZW50Tm9kZXx8SC5vd25lckRvY3VtZW50O2lm KEYpe28uZXZlbnQudHJpZ2dlcihJLEssRix0cnVlKX19fSxoYW5kbGU6ZnVuY3Rp b24oSyl7dmFyIEosRTtLPWFyZ3VtZW50c1swXT1vLmV2ZW50LmZpeChLfHxsLmV2 ZW50KTtLLmN1cnJlbnRUYXJnZXQ9dGhpczt2YXIgTD1LLnR5cGUuc3BsaXQoIi4i KTtLLnR5cGU9TC5zaGlmdCgpO0o9IUwubGVuZ3RoJiYhSy5leGNsdXNpdmU7dmFy IEk9UmVnRXhwKCIoXnxcXC4pIitMLnNsaWNlKCkuc29ydCgpLmpvaW4oIi4qXFwu IikrIihcXC58JCkiKTtFPShvLmRhdGEodGhpcywiZXZlbnRzIil8fHt9KVtLLnR5 cGVdO2Zvcih2YXIgRyBpbiBFKXt2YXIgSD1FW0ddO2lmKEp8fEkudGVzdChILnR5 cGUpKXtLLmhhbmRsZXI9SDtLLmRhdGE9SC5kYXRhO3ZhciBGPUguYXBwbHkodGhp cyxhcmd1bWVudHMpO2lmKEYhPT1nKXtLLnJlc3VsdD1GO2lmKEY9PT1mYWxzZSl7 Sy5wcmV2ZW50RGVmYXVsdCgpO0suc3RvcFByb3BhZ2F0aW9uKCl9fWlmKEsuaXNJ bW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKSl7YnJlYWt9fX19LHByb3BzOiJh bHRLZXkgYXR0ckNoYW5nZSBhdHRyTmFtZSBidWJibGVzIGJ1dHRvbiBjYW5jZWxh YmxlIGNoYXJDb2RlIGNsaWVudFggY2xpZW50WSBjdHJsS2V5IGN1cnJlbnRUYXJn ZXQgZGF0YSBkZXRhaWwgZXZlbnRQaGFzZSBmcm9tRWxlbWVudCBoYW5kbGVyIGtl eUNvZGUgbWV0YUtleSBuZXdWYWx1ZSBvcmlnaW5hbFRhcmdldCBwYWdlWCBwYWdl WSBwcmV2VmFsdWUgcmVsYXRlZE5vZGUgcmVsYXRlZFRhcmdldCBzY3JlZW5YIHNj cmVlblkgc2hpZnRLZXkgc3JjRWxlbWVudCB0YXJnZXQgdG9FbGVtZW50IHZpZXcg d2hlZWxEZWx0YSB3aGljaCIuc3BsaXQoIiAiKSxmaXg6ZnVuY3Rpb24oSCl7aWYo SFtoXSl7cmV0dXJuIEh9dmFyIEY9SDtIPW8uRXZlbnQoRik7Zm9yKHZhciBHPXRo aXMucHJvcHMubGVuZ3RoLEo7Rzspe0o9dGhpcy5wcm9wc1stLUddO0hbSl09RltK XX1pZighSC50YXJnZXQpe0gudGFyZ2V0PUguc3JjRWxlbWVudHx8ZG9jdW1lbnR9 aWYoSC50YXJnZXQubm9kZVR5cGU9PTMpe0gudGFyZ2V0PUgudGFyZ2V0LnBhcmVu dE5vZGV9aWYoIUgucmVsYXRlZFRhcmdldCYmSC5mcm9tRWxlbWVudCl7SC5yZWxh dGVkVGFyZ2V0PUguZnJvbUVsZW1lbnQ9PUgudGFyZ2V0P0gudG9FbGVtZW50Okgu ZnJvbUVsZW1lbnR9aWYoSC5wYWdlWD09bnVsbCYmSC5jbGllbnRYIT1udWxsKXt2 YXIgST1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsRT1kb2N1bWVudC5ib2R5O0gu cGFnZVg9SC5jbGllbnRYKyhJJiZJLnNjcm9sbExlZnR8fEUmJkUuc2Nyb2xsTGVm dHx8MCktKEkuY2xpZW50TGVmdHx8MCk7SC5wYWdlWT1ILmNsaWVudFkrKEkmJkku c2Nyb2xsVG9wfHxFJiZFLnNjcm9sbFRvcHx8MCktKEkuY2xpZW50VG9wfHwwKX1p ZighSC53aGljaCYmKChILmNoYXJDb2RlfHxILmNoYXJDb2RlPT09MCk/SC5jaGFy Q29kZTpILmtleUNvZGUpKXtILndoaWNoPUguY2hhckNvZGV8fEgua2V5Q29kZX1p ZighSC5tZXRhS2V5JiZILmN0cmxLZXkpe0gubWV0YUtleT1ILmN0cmxLZXl9aWYo IUgud2hpY2gmJkguYnV0dG9uKXtILndoaWNoPShILmJ1dHRvbiYxPzE6KEguYnV0 dG9uJjI/MzooSC5idXR0b24mND8yOjApKSl9cmV0dXJuIEh9LHByb3h5OmZ1bmN0 aW9uKEYsRSl7RT1FfHxmdW5jdGlvbigpe3JldHVybiBGLmFwcGx5KHRoaXMsYXJn dW1lbnRzKX07RS5ndWlkPUYuZ3VpZD1GLmd1aWR8fEUuZ3VpZHx8dGhpcy5ndWlk Kys7cmV0dXJuIEV9LHNwZWNpYWw6e3JlYWR5OntzZXR1cDpCLHRlYXJkb3duOmZ1 bmN0aW9uKCl7fX19LHNwZWNpYWxBbGw6e2xpdmU6e3NldHVwOmZ1bmN0aW9uKEUs Ril7by5ldmVudC5hZGQodGhpcyxGWzBdLGMpfSx0ZWFyZG93bjpmdW5jdGlvbihH KXtpZihHLmxlbmd0aCl7dmFyIEU9MCxGPVJlZ0V4cCgiKF58XFwuKSIrR1swXSsi KFxcLnwkKSIpO28uZWFjaCgoby5kYXRhKHRoaXMsImV2ZW50cyIpLmxpdmV8fHt9 KSxmdW5jdGlvbigpe2lmKEYudGVzdCh0aGlzLnR5cGUpKXtFKyt9fSk7aWYoRTwx KXtvLmV2ZW50LnJlbW92ZSh0aGlzLEdbMF0sYyl9fX19fX07by5FdmVudD1mdW5j dGlvbihFKXtpZighdGhpcy5wcmV2ZW50RGVmYXVsdCl7cmV0dXJuIG5ldyBvLkV2 ZW50KEUpfWlmKEUmJkUudHlwZSl7dGhpcy5vcmlnaW5hbEV2ZW50PUU7dGhpcy50 eXBlPUUudHlwZX1lbHNle3RoaXMudHlwZT1FfXRoaXMudGltZVN0YW1wPWUoKTt0 aGlzW2hdPXRydWV9O2Z1bmN0aW9uIGsoKXtyZXR1cm4gZmFsc2V9ZnVuY3Rpb24g dSgpe3JldHVybiB0cnVlfW8uRXZlbnQucHJvdG90eXBlPXtwcmV2ZW50RGVmYXVs dDpmdW5jdGlvbigpe3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPXU7dmFyIEU9dGhp cy5vcmlnaW5hbEV2ZW50O2lmKCFFKXtyZXR1cm59aWYoRS5wcmV2ZW50RGVmYXVs dCl7RS5wcmV2ZW50RGVmYXVsdCgpfUUucmV0dXJuVmFsdWU9ZmFsc2V9LHN0b3BQ cm9wYWdhdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9 dTt2YXIgRT10aGlzLm9yaWdpbmFsRXZlbnQ7aWYoIUUpe3JldHVybn1pZihFLnN0 b3BQcm9wYWdhdGlvbil7RS5zdG9wUHJvcGFnYXRpb24oKX1FLmNhbmNlbEJ1YmJs ZT10cnVlfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlz LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPXU7dGhpcy5zdG9wUHJvcGFn YXRpb24oKX0saXNEZWZhdWx0UHJldmVudGVkOmssaXNQcm9wYWdhdGlvblN0b3Bw ZWQ6ayxpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDprfTt2YXIgYT1mdW5j dGlvbihGKXt2YXIgRT1GLnJlbGF0ZWRUYXJnZXQ7d2hpbGUoRSYmRSE9dGhpcyl7 dHJ5e0U9RS5wYXJlbnROb2RlfWNhdGNoKEcpe0U9dGhpc319aWYoRSE9dGhpcyl7 Ri50eXBlPUYuZGF0YTtvLmV2ZW50LmhhbmRsZS5hcHBseSh0aGlzLGFyZ3VtZW50 cyl9fTtvLmVhY2goe21vdXNlb3ZlcjoibW91c2VlbnRlciIsbW91c2VvdXQ6Im1v dXNlbGVhdmUifSxmdW5jdGlvbihGLEUpe28uZXZlbnQuc3BlY2lhbFtFXT17c2V0 dXA6ZnVuY3Rpb24oKXtvLmV2ZW50LmFkZCh0aGlzLEYsYSxFKX0sdGVhcmRvd246 ZnVuY3Rpb24oKXtvLmV2ZW50LnJlbW92ZSh0aGlzLEYsYSl9fX0pO28uZm4uZXh0 ZW5kKHtiaW5kOmZ1bmN0aW9uKEYsRyxFKXtyZXR1cm4gRj09InVubG9hZCI/dGhp cy5vbmUoRixHLEUpOnRoaXMuZWFjaChmdW5jdGlvbigpe28uZXZlbnQuYWRkKHRo aXMsRixFfHxHLEUmJkcpfSl9LG9uZTpmdW5jdGlvbihHLEgsRil7dmFyIEU9by5l dmVudC5wcm94eShGfHxILGZ1bmN0aW9uKEkpe28odGhpcykudW5iaW5kKEksRSk7 cmV0dXJuKEZ8fEgpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pO3JldHVybiB0aGlz LmVhY2goZnVuY3Rpb24oKXtvLmV2ZW50LmFkZCh0aGlzLEcsRSxGJiZIKX0pfSx1 bmJpbmQ6ZnVuY3Rpb24oRixFKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7 by5ldmVudC5yZW1vdmUodGhpcyxGLEUpfSl9LHRyaWdnZXI6ZnVuY3Rpb24oRSxG KXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7by5ldmVudC50cmlnZ2VyKEUs Rix0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihFLEcpe2lmKHRoaXNb MF0pe3ZhciBGPW8uRXZlbnQoRSk7Ri5wcmV2ZW50RGVmYXVsdCgpO0Yuc3RvcFBy b3BhZ2F0aW9uKCk7by5ldmVudC50cmlnZ2VyKEYsRyx0aGlzWzBdKTtyZXR1cm4g Ri5yZXN1bHR9fSx0b2dnbGU6ZnVuY3Rpb24oRyl7dmFyIEU9YXJndW1lbnRzLEY9 MTt3aGlsZShGPEUubGVuZ3RoKXtvLmV2ZW50LnByb3h5KEcsRVtGKytdKX1yZXR1 cm4gdGhpcy5jbGljayhvLmV2ZW50LnByb3h5KEcsZnVuY3Rpb24oSCl7dGhpcy5s YXN0VG9nZ2xlPSh0aGlzLmxhc3RUb2dnbGV8fDApJUY7SC5wcmV2ZW50RGVmYXVs dCgpO3JldHVybiBFW3RoaXMubGFzdFRvZ2dsZSsrXS5hcHBseSh0aGlzLGFyZ3Vt ZW50cyl8fGZhbHNlfSkpfSxob3ZlcjpmdW5jdGlvbihFLEYpe3JldHVybiB0aGlz Lm1vdXNlZW50ZXIoRSkubW91c2VsZWF2ZShGKX0scmVhZHk6ZnVuY3Rpb24oRSl7 QigpO2lmKG8uaXNSZWFkeSl7RS5jYWxsKGRvY3VtZW50LG8pfWVsc2V7by5yZWFk eUxpc3QucHVzaChFKX1yZXR1cm4gdGhpc30sbGl2ZTpmdW5jdGlvbihHLEYpe3Zh ciBFPW8uZXZlbnQucHJveHkoRik7RS5ndWlkKz10aGlzLnNlbGVjdG9yK0c7byhk b2N1bWVudCkuYmluZChpKEcsdGhpcy5zZWxlY3RvciksdGhpcy5zZWxlY3RvcixF KTtyZXR1cm4gdGhpc30sZGllOmZ1bmN0aW9uKEYsRSl7byhkb2N1bWVudCkudW5i aW5kKGkoRix0aGlzLnNlbGVjdG9yKSxFP3tndWlkOkUuZ3VpZCt0aGlzLnNlbGVj dG9yK0Z9Om51bGwpO3JldHVybiB0aGlzfX0pO2Z1bmN0aW9uIGMoSCl7dmFyIEU9 UmVnRXhwKCIoXnxcXC4pIitILnR5cGUrIihcXC58JCkiKSxHPXRydWUsRj1bXTtv LmVhY2goby5kYXRhKHRoaXMsImV2ZW50cyIpLmxpdmV8fFtdLGZ1bmN0aW9uKEks Sil7aWYoRS50ZXN0KEoudHlwZSkpe3ZhciBLPW8oSC50YXJnZXQpLmNsb3Nlc3Qo Si5kYXRhKVswXTtpZihLKXtGLnB1c2goe2VsZW06SyxmbjpKfSl9fX0pO0Yuc29y dChmdW5jdGlvbihKLEkpe3JldHVybiBvLmRhdGEoSi5lbGVtLCJjbG9zZXN0Iikt by5kYXRhKEkuZWxlbSwiY2xvc2VzdCIpfSk7by5lYWNoKEYsZnVuY3Rpb24oKXtp Zih0aGlzLmZuLmNhbGwodGhpcy5lbGVtLEgsdGhpcy5mbi5kYXRhKT09PWZhbHNl KXtyZXR1cm4oRz1mYWxzZSl9fSk7cmV0dXJuIEd9ZnVuY3Rpb24gaShGLEUpe3Jl dHVyblsibGl2ZSIsRixFLnJlcGxhY2UoL1wuL2csImAiKS5yZXBsYWNlKC8gL2cs InwiKV0uam9pbigiLiIpfW8uZXh0ZW5kKHtpc1JlYWR5OmZhbHNlLHJlYWR5TGlz dDpbXSxyZWFkeTpmdW5jdGlvbigpe2lmKCFvLmlzUmVhZHkpe28uaXNSZWFkeT10 cnVlO2lmKG8ucmVhZHlMaXN0KXtvLmVhY2goby5yZWFkeUxpc3QsZnVuY3Rpb24o KXt0aGlzLmNhbGwoZG9jdW1lbnQsbyl9KTtvLnJlYWR5TGlzdD1udWxsfW8oZG9j dW1lbnQpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpfX19KTt2YXIgeD1mYWxzZTtm dW5jdGlvbiBCKCl7aWYoeCl7cmV0dXJufXg9dHJ1ZTtpZihkb2N1bWVudC5hZGRF dmVudExpc3RlbmVyKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250 ZW50TG9hZGVkIixmdW5jdGlvbigpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVu ZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGFyZ3VtZW50cy5jYWxsZWUsZmFsc2UpO28u cmVhZHkoKX0sZmFsc2UpfWVsc2V7aWYoZG9jdW1lbnQuYXR0YWNoRXZlbnQpe2Rv Y3VtZW50LmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLGZ1bmN0aW9u KCl7aWYoZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpe2RvY3VtZW50 LmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLGFyZ3VtZW50cy5jYWxs ZWUpO28ucmVhZHkoKX19KTtpZihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZG9T Y3JvbGwmJmw9PWwudG9wKXsoZnVuY3Rpb24oKXtpZihvLmlzUmVhZHkpe3JldHVy bn10cnl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iil9 Y2F0Y2goRSl7c2V0VGltZW91dChhcmd1bWVudHMuY2FsbGVlLDApO3JldHVybn1v LnJlYWR5KCl9KSgpfX19by5ldmVudC5hZGQobCwibG9hZCIsby5yZWFkeSl9by5l YWNoKCgiYmx1cixmb2N1cyxsb2FkLHJlc2l6ZSxzY3JvbGwsdW5sb2FkLGNsaWNr LGRibGNsaWNrLG1vdXNlZG93bixtb3VzZXVwLG1vdXNlbW92ZSxtb3VzZW92ZXIs bW91c2VvdXQsbW91c2VlbnRlcixtb3VzZWxlYXZlLGNoYW5nZSxzZWxlY3Qsc3Vi bWl0LGtleWRvd24sa2V5cHJlc3Msa2V5dXAsZXJyb3IiKS5zcGxpdCgiLCIpLGZ1 bmN0aW9uKEYsRSl7by5mbltFXT1mdW5jdGlvbihHKXtyZXR1cm4gRz90aGlzLmJp bmQoRSxHKTp0aGlzLnRyaWdnZXIoRSl9fSk7byhsKS5iaW5kKCJ1bmxvYWQiLGZ1 bmN0aW9uKCl7Zm9yKHZhciBFIGluIG8uY2FjaGUpe2lmKEUhPTEmJm8uY2FjaGVb RV0uaGFuZGxlKXtvLmV2ZW50LnJlbW92ZShvLmNhY2hlW0VdLmhhbmRsZS5lbGVt KX19fSk7KGZ1bmN0aW9uKCl7by5zdXBwb3J0PXt9O3ZhciBGPWRvY3VtZW50LmRv Y3VtZW50RWxlbWVudCxHPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIp LEs9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksSj0ic2NyaXB0IisobmV3 IERhdGUpLmdldFRpbWUoKTtLLnN0eWxlLmRpc3BsYXk9Im5vbmUiO0suaW5uZXJI VE1MPScgICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0iL2EiIHN0eWxl PSJjb2xvcjpyZWQ7ZmxvYXQ6bGVmdDtvcGFjaXR5Oi41OyI+YTwvYT48c2VsZWN0 PjxvcHRpb24+dGV4dDwvb3B0aW9uPjwvc2VsZWN0PjxvYmplY3Q+PHBhcmFtLz48 L29iamVjdD4nO3ZhciBIPUsuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxFPUsu Z2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXTtpZighSHx8IUgubGVuZ3RofHwh RSl7cmV0dXJufW8uc3VwcG9ydD17bGVhZGluZ1doaXRlc3BhY2U6Sy5maXJzdENo aWxkLm5vZGVUeXBlPT0zLHRib2R5OiFLLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0 Ym9keSIpLmxlbmd0aCxvYmplY3RBbGw6ISFLLmdldEVsZW1lbnRzQnlUYWdOYW1l KCJvYmplY3QiKVswXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aCxo dG1sU2VyaWFsaXplOiEhSy5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxl bmd0aCxzdHlsZTovcmVkLy50ZXN0KEUuZ2V0QXR0cmlidXRlKCJzdHlsZSIpKSxo cmVmTm9ybWFsaXplZDpFLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09Ii9hIixvcGFj aXR5OkUuc3R5bGUub3BhY2l0eT09PSIwLjUiLGNzc0Zsb2F0OiEhRS5zdHlsZS5j c3NGbG9hdCxzY3JpcHRFdmFsOmZhbHNlLG5vQ2xvbmVFdmVudDp0cnVlLGJveE1v ZGVsOm51bGx9O0cudHlwZT0idGV4dC9qYXZhc2NyaXB0Ijt0cnl7Ry5hcHBlbmRD aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgid2luZG93LiIrSisiPTE7Iikp fWNhdGNoKEkpe31GLmluc2VydEJlZm9yZShHLEYuZmlyc3RDaGlsZCk7aWYobFtK XSl7by5zdXBwb3J0LnNjcmlwdEV2YWw9dHJ1ZTtkZWxldGUgbFtKXX1GLnJlbW92 ZUNoaWxkKEcpO2lmKEsuYXR0YWNoRXZlbnQmJksuZmlyZUV2ZW50KXtLLmF0dGFj aEV2ZW50KCJvbmNsaWNrIixmdW5jdGlvbigpe28uc3VwcG9ydC5ub0Nsb25lRXZl bnQ9ZmFsc2U7Sy5kZXRhY2hFdmVudCgib25jbGljayIsYXJndW1lbnRzLmNhbGxl ZSl9KTtLLmNsb25lTm9kZSh0cnVlKS5maXJlRXZlbnQoIm9uY2xpY2siKX1vKGZ1 bmN0aW9uKCl7dmFyIEw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7TC5z dHlsZS53aWR0aD1MLnN0eWxlLnBhZGRpbmdMZWZ0PSIxcHgiO2RvY3VtZW50LmJv ZHkuYXBwZW5kQ2hpbGQoTCk7by5ib3hNb2RlbD1vLnN1cHBvcnQuYm94TW9kZWw9 TC5vZmZzZXRXaWR0aD09PTI7ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChMKS5z dHlsZS5kaXNwbGF5PSJub25lIn0pfSkoKTt2YXIgdz1vLnN1cHBvcnQuY3NzRmxv YXQ/ImNzc0Zsb2F0Ijoic3R5bGVGbG9hdCI7by5wcm9wcz17ImZvciI6Imh0bWxG b3IiLCJjbGFzcyI6ImNsYXNzTmFtZSIsImZsb2F0Ijp3LGNzc0Zsb2F0Oncsc3R5 bGVGbG9hdDp3LHJlYWRvbmx5OiJyZWFkT25seSIsbWF4bGVuZ3RoOiJtYXhMZW5n dGgiLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIscm93c3Bhbjoicm93U3BhbiIs dGFiaW5kZXg6InRhYkluZGV4In07by5mbi5leHRlbmQoe19sb2FkOm8uZm4ubG9h ZCxsb2FkOmZ1bmN0aW9uKEcsSixLKXtpZih0eXBlb2YgRyE9PSJzdHJpbmciKXty ZXR1cm4gdGhpcy5fbG9hZChHKX12YXIgST1HLmluZGV4T2YoIiAiKTtpZihJPj0w KXt2YXIgRT1HLnNsaWNlKEksRy5sZW5ndGgpO0c9Ry5zbGljZSgwLEkpfXZhciBI PSJHRVQiO2lmKEope2lmKG8uaXNGdW5jdGlvbihKKSl7Sz1KO0o9bnVsbH1lbHNl e2lmKHR5cGVvZiBKPT09Im9iamVjdCIpe0o9by5wYXJhbShKKTtIPSJQT1NUIn19 fXZhciBGPXRoaXM7by5hamF4KHt1cmw6Ryx0eXBlOkgsZGF0YVR5cGU6Imh0bWwi LGRhdGE6Sixjb21wbGV0ZTpmdW5jdGlvbihNLEwpe2lmKEw9PSJzdWNjZXNzInx8 TD09Im5vdG1vZGlmaWVkIil7Ri5odG1sKEU/bygiPGRpdi8+IikuYXBwZW5kKE0u cmVzcG9uc2VUZXh0LnJlcGxhY2UoLzxzY3JpcHQoLnxccykqP1wvc2NyaXB0Pi9n LCIiKSkuZmluZChFKTpNLnJlc3BvbnNlVGV4dCl9aWYoSyl7Ri5lYWNoKEssW00u cmVzcG9uc2VUZXh0LEwsTV0pfX19KTtyZXR1cm4gdGhpc30sc2VyaWFsaXplOmZ1 bmN0aW9uKCl7cmV0dXJuIG8ucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0s c2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rp b24oKXtyZXR1cm4gdGhpcy5lbGVtZW50cz9vLm1ha2VBcnJheSh0aGlzLmVsZW1l bnRzKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZSYm IXRoaXMuZGlzYWJsZWQmJih0aGlzLmNoZWNrZWR8fC9zZWxlY3R8dGV4dGFyZWEv aS50ZXN0KHRoaXMubm9kZU5hbWUpfHwvdGV4dHxoaWRkZW58cGFzc3dvcmR8c2Vh cmNoL2kudGVzdCh0aGlzLnR5cGUpKX0pLm1hcChmdW5jdGlvbihFLEYpe3ZhciBH PW8odGhpcykudmFsKCk7cmV0dXJuIEc9PW51bGw/bnVsbDpvLmlzQXJyYXkoRyk/ by5tYXAoRyxmdW5jdGlvbihJLEgpe3JldHVybntuYW1lOkYubmFtZSx2YWx1ZTpJ fX0pOntuYW1lOkYubmFtZSx2YWx1ZTpHfX0pLmdldCgpfX0pO28uZWFjaCgiYWph eFN0YXJ0LGFqYXhTdG9wLGFqYXhDb21wbGV0ZSxhamF4RXJyb3IsYWpheFN1Y2Nl c3MsYWpheFNlbmQiLnNwbGl0KCIsIiksZnVuY3Rpb24oRSxGKXtvLmZuW0ZdPWZ1 bmN0aW9uKEcpe3JldHVybiB0aGlzLmJpbmQoRixHKX19KTt2YXIgcj1lKCk7by5l eHRlbmQoe2dldDpmdW5jdGlvbihFLEcsSCxGKXtpZihvLmlzRnVuY3Rpb24oRykp e0g9RztHPW51bGx9cmV0dXJuIG8uYWpheCh7dHlwZToiR0VUIix1cmw6RSxkYXRh Okcsc3VjY2VzczpILGRhdGFUeXBlOkZ9KX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKEUs Ril7cmV0dXJuIG8uZ2V0KEUsbnVsbCxGLCJzY3JpcHQiKX0sZ2V0SlNPTjpmdW5j dGlvbihFLEYsRyl7cmV0dXJuIG8uZ2V0KEUsRixHLCJqc29uIil9LHBvc3Q6ZnVu Y3Rpb24oRSxHLEgsRil7aWYoby5pc0Z1bmN0aW9uKEcpKXtIPUc7Rz17fX1yZXR1 cm4gby5hamF4KHt0eXBlOiJQT1NUIix1cmw6RSxkYXRhOkcsc3VjY2VzczpILGRh dGFUeXBlOkZ9KX0sYWpheFNldHVwOmZ1bmN0aW9uKEUpe28uZXh0ZW5kKG8uYWph eFNldHRpbmdzLEUpfSxhamF4U2V0dGluZ3M6e3VybDpsb2NhdGlvbi5ocmVmLGds b2JhbDp0cnVlLHR5cGU6IkdFVCIsY29udGVudFR5cGU6ImFwcGxpY2F0aW9uL3gt d3d3LWZvcm0tdXJsZW5jb2RlZCIscHJvY2Vzc0RhdGE6dHJ1ZSxhc3luYzp0cnVl LHhocjpmdW5jdGlvbigpe3JldHVybiBsLkFjdGl2ZVhPYmplY3Q/bmV3IEFjdGl2 ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIik6bmV3IFhNTEh0dHBSZXF1ZXN0 KCl9LGFjY2VwdHM6e3htbDoiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsaHRt bDoidGV4dC9odG1sIixzY3JpcHQ6InRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRp b24vamF2YXNjcmlwdCIsanNvbjoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZh c2NyaXB0Iix0ZXh0OiJ0ZXh0L3BsYWluIixfZGVmYXVsdDoiKi8qIn19LGxhc3RN b2RpZmllZDp7fSxhamF4OmZ1bmN0aW9uKE0pe009by5leHRlbmQodHJ1ZSxNLG8u ZXh0ZW5kKHRydWUse30sby5hamF4U2V0dGluZ3MsTSkpO3ZhciBXLEY9Lz1cPygm fCQpL2csUixWLEc9TS50eXBlLnRvVXBwZXJDYXNlKCk7aWYoTS5kYXRhJiZNLnBy b2Nlc3NEYXRhJiZ0eXBlb2YgTS5kYXRhIT09InN0cmluZyIpe00uZGF0YT1vLnBh cmFtKE0uZGF0YSl9aWYoTS5kYXRhVHlwZT09Impzb25wIil7aWYoRz09IkdFVCIp e2lmKCFNLnVybC5tYXRjaChGKSl7TS51cmwrPShNLnVybC5tYXRjaCgvXD8vKT8i JiI6Ij8iKSsoTS5qc29ucHx8ImNhbGxiYWNrIikrIj0/In19ZWxzZXtpZighTS5k YXRhfHwhTS5kYXRhLm1hdGNoKEYpKXtNLmRhdGE9KE0uZGF0YT9NLmRhdGErIiYi OiIiKSsoTS5qc29ucHx8ImNhbGxiYWNrIikrIj0/In19TS5kYXRhVHlwZT0ianNv biJ9aWYoTS5kYXRhVHlwZT09Impzb24iJiYoTS5kYXRhJiZNLmRhdGEubWF0Y2go Ril8fE0udXJsLm1hdGNoKEYpKSl7Vz0ianNvbnAiK3IrKztpZihNLmRhdGEpe00u ZGF0YT0oTS5kYXRhKyIiKS5yZXBsYWNlKEYsIj0iK1crIiQxIil9TS51cmw9TS51 cmwucmVwbGFjZShGLCI9IitXKyIkMSIpO00uZGF0YVR5cGU9InNjcmlwdCI7bFtX XT1mdW5jdGlvbihYKXtWPVg7SSgpO0woKTtsW1ddPWc7dHJ5e2RlbGV0ZSBsW1dd fWNhdGNoKFkpe31pZihIKXtILnJlbW92ZUNoaWxkKFQpfX19aWYoTS5kYXRhVHlw ZT09InNjcmlwdCImJk0uY2FjaGU9PW51bGwpe00uY2FjaGU9ZmFsc2V9aWYoTS5j YWNoZT09PWZhbHNlJiZHPT0iR0VUIil7dmFyIEU9ZSgpO3ZhciBVPU0udXJsLnJl cGxhY2UoLyhcP3wmKV89Lio/KCZ8JCkvLCIkMV89IitFKyIkMiIpO00udXJsPVUr KChVPT1NLnVybCk/KE0udXJsLm1hdGNoKC9cPy8pPyImIjoiPyIpKyJfPSIrRToi Iil9aWYoTS5kYXRhJiZHPT0iR0VUIil7TS51cmwrPShNLnVybC5tYXRjaCgvXD8v KT8iJiI6Ij8iKStNLmRhdGE7TS5kYXRhPW51bGx9aWYoTS5nbG9iYWwmJiFvLmFj dGl2ZSsrKXtvLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpfXZhciBRPS9eKFx3 KzopP1wvXC8oW15cLz8jXSspLy5leGVjKE0udXJsKTtpZihNLmRhdGFUeXBlPT0i c2NyaXB0IiYmRz09IkdFVCImJlEmJihRWzFdJiZRWzFdIT1sb2NhdGlvbi5wcm90 b2NvbHx8UVsyXSE9bG9jYXRpb24uaG9zdCkpe3ZhciBIPWRvY3VtZW50LmdldEVs ZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07dmFyIFQ9ZG9jdW1lbnQuY3JlYXRl RWxlbWVudCgic2NyaXB0Iik7VC5zcmM9TS51cmw7aWYoTS5zY3JpcHRDaGFyc2V0 KXtULmNoYXJzZXQ9TS5zY3JpcHRDaGFyc2V0fWlmKCFXKXt2YXIgTz1mYWxzZTtU Lm9ubG9hZD1ULm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lmKCFPJiYo IXRoaXMucmVhZHlTdGF0ZXx8dGhpcy5yZWFkeVN0YXRlPT0ibG9hZGVkInx8dGhp cy5yZWFkeVN0YXRlPT0iY29tcGxldGUiKSl7Tz10cnVlO0koKTtMKCk7VC5vbmxv YWQ9VC5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbDtILnJlbW92ZUNoaWxkKFQpfX19 SC5hcHBlbmRDaGlsZChUKTtyZXR1cm4gZ312YXIgSz1mYWxzZTt2YXIgSj1NLnho cigpO2lmKE0udXNlcm5hbWUpe0oub3BlbihHLE0udXJsLE0uYXN5bmMsTS51c2Vy bmFtZSxNLnBhc3N3b3JkKX1lbHNle0oub3BlbihHLE0udXJsLE0uYXN5bmMpfXRy eXtpZihNLmRhdGEpe0ouc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixN LmNvbnRlbnRUeXBlKX1pZihNLmlmTW9kaWZpZWQpe0ouc2V0UmVxdWVzdEhlYWRl cigiSWYtTW9kaWZpZWQtU2luY2UiLG8ubGFzdE1vZGlmaWVkW00udXJsXXx8IlRo dSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIil9Si5zZXRSZXF1ZXN0SGVhZGVy KCJYLVJlcXVlc3RlZC1XaXRoIiwiWE1MSHR0cFJlcXVlc3QiKTtKLnNldFJlcXVl c3RIZWFkZXIoIkFjY2VwdCIsTS5kYXRhVHlwZSYmTS5hY2NlcHRzW00uZGF0YVR5 cGVdP00uYWNjZXB0c1tNLmRhdGFUeXBlXSsiLCAqLyoiOk0uYWNjZXB0cy5fZGVm YXVsdCl9Y2F0Y2goUyl7fWlmKE0uYmVmb3JlU2VuZCYmTS5iZWZvcmVTZW5kKEos TSk9PT1mYWxzZSl7aWYoTS5nbG9iYWwmJiEtLW8uYWN0aXZlKXtvLmV2ZW50LnRy aWdnZXIoImFqYXhTdG9wIil9Si5hYm9ydCgpO3JldHVybiBmYWxzZX1pZihNLmds b2JhbCl7by5ldmVudC50cmlnZ2VyKCJhamF4U2VuZCIsW0osTV0pfXZhciBOPWZ1 bmN0aW9uKFgpe2lmKEoucmVhZHlTdGF0ZT09MCl7aWYoUCl7Y2xlYXJJbnRlcnZh bChQKTtQPW51bGw7aWYoTS5nbG9iYWwmJiEtLW8uYWN0aXZlKXtvLmV2ZW50LnRy aWdnZXIoImFqYXhTdG9wIil9fX1lbHNle2lmKCFLJiZKJiYoSi5yZWFkeVN0YXRl PT00fHxYPT0idGltZW91dCIpKXtLPXRydWU7aWYoUCl7Y2xlYXJJbnRlcnZhbChQ KTtQPW51bGx9Uj1YPT0idGltZW91dCI/InRpbWVvdXQiOiFvLmh0dHBTdWNjZXNz KEopPyJlcnJvciI6TS5pZk1vZGlmaWVkJiZvLmh0dHBOb3RNb2RpZmllZChKLE0u dXJsKT8ibm90bW9kaWZpZWQiOiJzdWNjZXNzIjtpZihSPT0ic3VjY2VzcyIpe3Ry eXtWPW8uaHR0cERhdGEoSixNLmRhdGFUeXBlLE0pfWNhdGNoKFope1I9InBhcnNl cmVycm9yIn19aWYoUj09InN1Y2Nlc3MiKXt2YXIgWTt0cnl7WT1KLmdldFJlc3Bv bnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIil9Y2F0Y2goWil7fWlmKE0uaWZNb2Rp ZmllZCYmWSl7by5sYXN0TW9kaWZpZWRbTS51cmxdPVl9aWYoIVcpe0koKX19ZWxz ZXtvLmhhbmRsZUVycm9yKE0sSixSKX1MKCk7aWYoWCl7Si5hYm9ydCgpfWlmKE0u YXN5bmMpe0o9bnVsbH19fX07aWYoTS5hc3luYyl7dmFyIFA9c2V0SW50ZXJ2YWwo TiwxMyk7aWYoTS50aW1lb3V0PjApe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihK JiYhSyl7TigidGltZW91dCIpfX0sTS50aW1lb3V0KX19dHJ5e0ouc2VuZChNLmRh dGEpfWNhdGNoKFMpe28uaGFuZGxlRXJyb3IoTSxKLG51bGwsUyl9aWYoIU0uYXN5 bmMpe04oKX1mdW5jdGlvbiBJKCl7aWYoTS5zdWNjZXNzKXtNLnN1Y2Nlc3MoVixS KX1pZihNLmdsb2JhbCl7by5ldmVudC50cmlnZ2VyKCJhamF4U3VjY2VzcyIsW0os TV0pfX1mdW5jdGlvbiBMKCl7aWYoTS5jb21wbGV0ZSl7TS5jb21wbGV0ZShKLFIp fWlmKE0uZ2xvYmFsKXtvLmV2ZW50LnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW0os TV0pfWlmKE0uZ2xvYmFsJiYhLS1vLmFjdGl2ZSl7by5ldmVudC50cmlnZ2VyKCJh amF4U3RvcCIpfX1yZXR1cm4gSn0saGFuZGxlRXJyb3I6ZnVuY3Rpb24oRixILEUs Ryl7aWYoRi5lcnJvcil7Ri5lcnJvcihILEUsRyl9aWYoRi5nbG9iYWwpe28uZXZl bnQudHJpZ2dlcigiYWpheEVycm9yIixbSCxGLEddKX19LGFjdGl2ZTowLGh0dHBT dWNjZXNzOmZ1bmN0aW9uKEYpe3RyeXtyZXR1cm4gIUYuc3RhdHVzJiZsb2NhdGlv bi5wcm90b2NvbD09ImZpbGU6Inx8KEYuc3RhdHVzPj0yMDAmJkYuc3RhdHVzPDMw MCl8fEYuc3RhdHVzPT0zMDR8fEYuc3RhdHVzPT0xMjIzfWNhdGNoKEUpe31yZXR1 cm4gZmFsc2V9LGh0dHBOb3RNb2RpZmllZDpmdW5jdGlvbihHLEUpe3RyeXt2YXIg SD1HLmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIik7cmV0dXJuIEcu c3RhdHVzPT0zMDR8fEg9PW8ubGFzdE1vZGlmaWVkW0VdfWNhdGNoKEYpe31yZXR1 cm4gZmFsc2V9LGh0dHBEYXRhOmZ1bmN0aW9uKEosSCxHKXt2YXIgRj1KLmdldFJl c3BvbnNlSGVhZGVyKCJjb250ZW50LXR5cGUiKSxFPUg9PSJ4bWwifHwhSCYmRiYm Ri5pbmRleE9mKCJ4bWwiKT49MCxJPUU/Si5yZXNwb25zZVhNTDpKLnJlc3BvbnNl VGV4dDtpZihFJiZJLmRvY3VtZW50RWxlbWVudC50YWdOYW1lPT0icGFyc2VyZXJy b3IiKXt0aHJvdyJwYXJzZXJlcnJvciJ9aWYoRyYmRy5kYXRhRmlsdGVyKXtJPUcu ZGF0YUZpbHRlcihJLEgpfWlmKHR5cGVvZiBJPT09InN0cmluZyIpe2lmKEg9PSJz Y3JpcHQiKXtvLmdsb2JhbEV2YWwoSSl9aWYoSD09Impzb24iKXtJPWxbImV2YWwi XSgiKCIrSSsiKSIpfX1yZXR1cm4gSX0scGFyYW06ZnVuY3Rpb24oRSl7dmFyIEc9 W107ZnVuY3Rpb24gSChJLEope0dbRy5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVu dChJKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KEopfWlmKG8uaXNBcnJheShFKXx8 RS5qcXVlcnkpe28uZWFjaChFLGZ1bmN0aW9uKCl7SCh0aGlzLm5hbWUsdGhpcy52 YWx1ZSl9KX1lbHNle2Zvcih2YXIgRiBpbiBFKXtpZihvLmlzQXJyYXkoRVtGXSkp e28uZWFjaChFW0ZdLGZ1bmN0aW9uKCl7SChGLHRoaXMpfSl9ZWxzZXtIKEYsby5p c0Z1bmN0aW9uKEVbRl0pP0VbRl0oKTpFW0ZdKX19fXJldHVybiBHLmpvaW4oIiYi KS5yZXBsYWNlKC8lMjAvZywiKyIpfX0pO3ZhciBtPXt9LG4sZD1bWyJoZWlnaHQi LCJtYXJnaW5Ub3AiLCJtYXJnaW5Cb3R0b20iLCJwYWRkaW5nVG9wIiwicGFkZGlu Z0JvdHRvbSJdLFsid2lkdGgiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJw YWRkaW5nTGVmdCIsInBhZGRpbmdSaWdodCJdLFsib3BhY2l0eSJdXTtmdW5jdGlv biB0KEYsRSl7dmFyIEc9e307by5lYWNoKGQuY29uY2F0LmFwcGx5KFtdLGQuc2xp Y2UoMCxFKSksZnVuY3Rpb24oKXtHW3RoaXNdPUZ9KTtyZXR1cm4gR31vLmZuLmV4 dGVuZCh7c2hvdzpmdW5jdGlvbihKLEwpe2lmKEope3JldHVybiB0aGlzLmFuaW1h dGUodCgic2hvdyIsMyksSixMKX1lbHNle2Zvcih2YXIgSD0wLEY9dGhpcy5sZW5n dGg7SDxGO0grKyl7dmFyIEU9by5kYXRhKHRoaXNbSF0sIm9sZGRpc3BsYXkiKTt0 aGlzW0hdLnN0eWxlLmRpc3BsYXk9RXx8IiI7aWYoby5jc3ModGhpc1tIXSwiZGlz cGxheSIpPT09Im5vbmUiKXt2YXIgRz10aGlzW0hdLnRhZ05hbWUsSztpZihtW0dd KXtLPW1bR119ZWxzZXt2YXIgST1vKCI8IitHKyIgLz4iKS5hcHBlbmRUbygiYm9k eSIpO0s9SS5jc3MoImRpc3BsYXkiKTtpZihLPT09Im5vbmUiKXtLPSJibG9jayJ9 SS5yZW1vdmUoKTttW0ddPUt9by5kYXRhKHRoaXNbSF0sIm9sZGRpc3BsYXkiLEsp fX1mb3IodmFyIEg9MCxGPXRoaXMubGVuZ3RoO0g8RjtIKyspe3RoaXNbSF0uc3R5 bGUuZGlzcGxheT1vLmRhdGEodGhpc1tIXSwib2xkZGlzcGxheSIpfHwiIn1yZXR1 cm4gdGhpc319LGhpZGU6ZnVuY3Rpb24oSCxJKXtpZihIKXtyZXR1cm4gdGhpcy5h bmltYXRlKHQoImhpZGUiLDMpLEgsSSl9ZWxzZXtmb3IodmFyIEc9MCxGPXRoaXMu bGVuZ3RoO0c8RjtHKyspe3ZhciBFPW8uZGF0YSh0aGlzW0ddLCJvbGRkaXNwbGF5 Iik7aWYoIUUmJkUhPT0ibm9uZSIpe28uZGF0YSh0aGlzW0ddLCJvbGRkaXNwbGF5 IixvLmNzcyh0aGlzW0ddLCJkaXNwbGF5IikpfX1mb3IodmFyIEc9MCxGPXRoaXMu bGVuZ3RoO0c8RjtHKyspe3RoaXNbR10uc3R5bGUuZGlzcGxheT0ibm9uZSJ9cmV0 dXJuIHRoaXN9fSxfdG9nZ2xlOm8uZm4udG9nZ2xlLHRvZ2dsZTpmdW5jdGlvbihH LEYpe3ZhciBFPXR5cGVvZiBHPT09ImJvb2xlYW4iO3JldHVybiBvLmlzRnVuY3Rp b24oRykmJm8uaXNGdW5jdGlvbihGKT90aGlzLl90b2dnbGUuYXBwbHkodGhpcyxh cmd1bWVudHMpOkc9PW51bGx8fEU/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIEg9 RT9HOm8odGhpcykuaXMoIjpoaWRkZW4iKTtvKHRoaXMpW0g/InNob3ciOiJoaWRl Il0oKX0pOnRoaXMuYW5pbWF0ZSh0KCJ0b2dnbGUiLDMpLEcsRil9LGZhZGVUbzpm dW5jdGlvbihFLEcsRil7cmV0dXJuIHRoaXMuYW5pbWF0ZSh7b3BhY2l0eTpHfSxF LEYpfSxhbmltYXRlOmZ1bmN0aW9uKEksRixILEcpe3ZhciBFPW8uc3BlZWQoRixI LEcpO3JldHVybiB0aGlzW0UucXVldWU9PT1mYWxzZT8iZWFjaCI6InF1ZXVlIl0o ZnVuY3Rpb24oKXt2YXIgSz1vLmV4dGVuZCh7fSxFKSxNLEw9dGhpcy5ub2RlVHlw ZT09MSYmbyh0aGlzKS5pcygiOmhpZGRlbiIpLEo9dGhpcztmb3IoTSBpbiBJKXtp ZihJW01dPT0iaGlkZSImJkx8fElbTV09PSJzaG93IiYmIUwpe3JldHVybiBLLmNv bXBsZXRlLmNhbGwodGhpcyl9aWYoKE09PSJoZWlnaHQifHxNPT0id2lkdGgiKSYm dGhpcy5zdHlsZSl7Sy5kaXNwbGF5PW8uY3NzKHRoaXMsImRpc3BsYXkiKTtLLm92 ZXJmbG93PXRoaXMuc3R5bGUub3ZlcmZsb3d9fWlmKEsub3ZlcmZsb3chPW51bGwp e3RoaXMuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiJ9Sy5jdXJBbmltPW8uZXh0ZW5k KHt9LEkpO28uZWFjaChJLGZ1bmN0aW9uKE8sUyl7dmFyIFI9bmV3IG8uZngoSixL LE8pO2lmKC90b2dnbGV8c2hvd3xoaWRlLy50ZXN0KFMpKXtSW1M9PSJ0b2dnbGUi P0w/InNob3ciOiJoaWRlIjpTXShJKX1lbHNle3ZhciBRPVMudG9TdHJpbmcoKS5t YXRjaCgvXihbKy1dPSk/KFtcZCstLl0rKSguKikkLyksVD1SLmN1cih0cnVlKXx8 MDtpZihRKXt2YXIgTj1wYXJzZUZsb2F0KFFbMl0pLFA9UVszXXx8InB4IjtpZihQ IT0icHgiKXtKLnN0eWxlW09dPShOfHwxKStQO1Q9KChOfHwxKS9SLmN1cih0cnVl KSkqVDtKLnN0eWxlW09dPVQrUH1pZihRWzFdKXtOPSgoUVsxXT09Ii09Ij8tMTox KSpOKStUfVIuY3VzdG9tKFQsTixQKX1lbHNle1IuY3VzdG9tKFQsUywiIil9fX0p O3JldHVybiB0cnVlfSl9LHN0b3A6ZnVuY3Rpb24oRixFKXt2YXIgRz1vLnRpbWVy cztpZihGKXt0aGlzLnF1ZXVlKFtdKX10aGlzLmVhY2goZnVuY3Rpb24oKXtmb3Io dmFyIEg9Ry5sZW5ndGgtMTtIPj0wO0gtLSl7aWYoR1tIXS5lbGVtPT10aGlzKXtp ZihFKXtHW0hdKHRydWUpfUcuc3BsaWNlKEgsMSl9fX0pO2lmKCFFKXt0aGlzLmRl cXVldWUoKX1yZXR1cm4gdGhpc319KTtvLmVhY2goe3NsaWRlRG93bjp0KCJzaG93 IiwxKSxzbGlkZVVwOnQoImhpZGUiLDEpLHNsaWRlVG9nZ2xlOnQoInRvZ2dsZSIs MSksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlk ZSJ9fSxmdW5jdGlvbihFLEYpe28uZm5bRV09ZnVuY3Rpb24oRyxIKXtyZXR1cm4g dGhpcy5hbmltYXRlKEYsRyxIKX19KTtvLmV4dGVuZCh7c3BlZWQ6ZnVuY3Rpb24o RyxILEYpe3ZhciBFPXR5cGVvZiBHPT09Im9iamVjdCI/Rzp7Y29tcGxldGU6Rnx8 IUYmJkh8fG8uaXNGdW5jdGlvbihHKSYmRyxkdXJhdGlvbjpHLGVhc2luZzpGJiZI fHxIJiYhby5pc0Z1bmN0aW9uKEgpJiZIfTtFLmR1cmF0aW9uPW8uZngub2ZmPzA6 dHlwZW9mIEUuZHVyYXRpb249PT0ibnVtYmVyIj9FLmR1cmF0aW9uOm8uZnguc3Bl ZWRzW0UuZHVyYXRpb25dfHxvLmZ4LnNwZWVkcy5fZGVmYXVsdDtFLm9sZD1FLmNv bXBsZXRlO0UuY29tcGxldGU9ZnVuY3Rpb24oKXtpZihFLnF1ZXVlIT09ZmFsc2Up e28odGhpcykuZGVxdWV1ZSgpfWlmKG8uaXNGdW5jdGlvbihFLm9sZCkpe0Uub2xk LmNhbGwodGhpcyl9fTtyZXR1cm4gRX0sZWFzaW5nOntsaW5lYXI6ZnVuY3Rpb24o RyxILEUsRil7cmV0dXJuIEUrRipHfSxzd2luZzpmdW5jdGlvbihHLEgsRSxGKXty ZXR1cm4oKC1NYXRoLmNvcyhHKk1hdGguUEkpLzIpKzAuNSkqRitFfX0sdGltZXJz OltdLGZ4OmZ1bmN0aW9uKEYsRSxHKXt0aGlzLm9wdGlvbnM9RTt0aGlzLmVsZW09 Rjt0aGlzLnByb3A9RztpZighRS5vcmlnKXtFLm9yaWc9e319fX0pO28uZngucHJv dG90eXBlPXt1cGRhdGU6ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMuc3RlcCl7 dGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyl9 KG8uZnguc3RlcFt0aGlzLnByb3BdfHxvLmZ4LnN0ZXAuX2RlZmF1bHQpKHRoaXMp O2lmKCh0aGlzLnByb3A9PSJoZWlnaHQifHx0aGlzLnByb3A9PSJ3aWR0aCIpJiZ0 aGlzLmVsZW0uc3R5bGUpe3RoaXMuZWxlbS5zdHlsZS5kaXNwbGF5PSJibG9jayJ9 fSxjdXI6ZnVuY3Rpb24oRil7aWYodGhpcy5lbGVtW3RoaXMucHJvcF0hPW51bGwm JighdGhpcy5lbGVtLnN0eWxlfHx0aGlzLmVsZW0uc3R5bGVbdGhpcy5wcm9wXT09 bnVsbCkpe3JldHVybiB0aGlzLmVsZW1bdGhpcy5wcm9wXX12YXIgRT1wYXJzZUZs b2F0KG8uY3NzKHRoaXMuZWxlbSx0aGlzLnByb3AsRikpO3JldHVybiBFJiZFPi0x MDAwMD9FOnBhcnNlRmxvYXQoby5jdXJDU1ModGhpcy5lbGVtLHRoaXMucHJvcCkp fHwwfSxjdXN0b206ZnVuY3Rpb24oSSxILEcpe3RoaXMuc3RhcnRUaW1lPWUoKTt0 aGlzLnN0YXJ0PUk7dGhpcy5lbmQ9SDt0aGlzLnVuaXQ9R3x8dGhpcy51bml0fHwi cHgiO3RoaXMubm93PXRoaXMuc3RhcnQ7dGhpcy5wb3M9dGhpcy5zdGF0ZT0wO3Zh ciBFPXRoaXM7ZnVuY3Rpb24gRihKKXtyZXR1cm4gRS5zdGVwKEopfUYuZWxlbT10 aGlzLmVsZW07aWYoRigpJiZvLnRpbWVycy5wdXNoKEYpJiYhbil7bj1zZXRJbnRl cnZhbChmdW5jdGlvbigpe3ZhciBLPW8udGltZXJzO2Zvcih2YXIgSj0wO0o8Sy5s ZW5ndGg7SisrKXtpZighS1tKXSgpKXtLLnNwbGljZShKLS0sMSl9fWlmKCFLLmxl bmd0aCl7Y2xlYXJJbnRlcnZhbChuKTtuPWd9fSwxMyl9fSxzaG93OmZ1bmN0aW9u KCl7dGhpcy5vcHRpb25zLm9yaWdbdGhpcy5wcm9wXT1vLmF0dHIodGhpcy5lbGVt LnN0eWxlLHRoaXMucHJvcCk7dGhpcy5vcHRpb25zLnNob3c9dHJ1ZTt0aGlzLmN1 c3RvbSh0aGlzLnByb3A9PSJ3aWR0aCJ8fHRoaXMucHJvcD09ImhlaWdodCI/MTow LHRoaXMuY3VyKCkpO28odGhpcy5lbGVtKS5zaG93KCl9LGhpZGU6ZnVuY3Rpb24o KXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPW8uYXR0cih0aGlzLmVsZW0u c3R5bGUsdGhpcy5wcm9wKTt0aGlzLm9wdGlvbnMuaGlkZT10cnVlO3RoaXMuY3Vz dG9tKHRoaXMuY3VyKCksMCl9LHN0ZXA6ZnVuY3Rpb24oSCl7dmFyIEc9ZSgpO2lm KEh8fEc+PXRoaXMub3B0aW9ucy5kdXJhdGlvbit0aGlzLnN0YXJ0VGltZSl7dGhp cy5ub3c9dGhpcy5lbmQ7dGhpcy5wb3M9dGhpcy5zdGF0ZT0xO3RoaXMudXBkYXRl KCk7dGhpcy5vcHRpb25zLmN1ckFuaW1bdGhpcy5wcm9wXT10cnVlO3ZhciBFPXRy dWU7Zm9yKHZhciBGIGluIHRoaXMub3B0aW9ucy5jdXJBbmltKXtpZih0aGlzLm9w dGlvbnMuY3VyQW5pbVtGXSE9PXRydWUpe0U9ZmFsc2V9fWlmKEUpe2lmKHRoaXMu b3B0aW9ucy5kaXNwbGF5IT1udWxsKXt0aGlzLmVsZW0uc3R5bGUub3ZlcmZsb3c9 dGhpcy5vcHRpb25zLm92ZXJmbG93O3RoaXMuZWxlbS5zdHlsZS5kaXNwbGF5PXRo aXMub3B0aW9ucy5kaXNwbGF5O2lmKG8uY3NzKHRoaXMuZWxlbSwiZGlzcGxheSIp PT0ibm9uZSIpe3RoaXMuZWxlbS5zdHlsZS5kaXNwbGF5PSJibG9jayJ9fWlmKHRo aXMub3B0aW9ucy5oaWRlKXtvKHRoaXMuZWxlbSkuaGlkZSgpfWlmKHRoaXMub3B0 aW9ucy5oaWRlfHx0aGlzLm9wdGlvbnMuc2hvdyl7Zm9yKHZhciBJIGluIHRoaXMu b3B0aW9ucy5jdXJBbmltKXtvLmF0dHIodGhpcy5lbGVtLnN0eWxlLEksdGhpcy5v cHRpb25zLm9yaWdbSV0pfX10aGlzLm9wdGlvbnMuY29tcGxldGUuY2FsbCh0aGlz LmVsZW0pfXJldHVybiBmYWxzZX1lbHNle3ZhciBKPUctdGhpcy5zdGFydFRpbWU7 dGhpcy5zdGF0ZT1KL3RoaXMub3B0aW9ucy5kdXJhdGlvbjt0aGlzLnBvcz1vLmVh c2luZ1t0aGlzLm9wdGlvbnMuZWFzaW5nfHwoby5lYXNpbmcuc3dpbmc/InN3aW5n IjoibGluZWFyIildKHRoaXMuc3RhdGUsSiwwLDEsdGhpcy5vcHRpb25zLmR1cmF0 aW9uKTt0aGlzLm5vdz10aGlzLnN0YXJ0KygodGhpcy5lbmQtdGhpcy5zdGFydCkq dGhpcy5wb3MpO3RoaXMudXBkYXRlKCl9cmV0dXJuIHRydWV9fTtvLmV4dGVuZChv LmZ4LHtzcGVlZHM6e3Nsb3c6NjAwLGZhc3Q6MjAwLF9kZWZhdWx0OjQwMH0sc3Rl cDp7b3BhY2l0eTpmdW5jdGlvbihFKXtvLmF0dHIoRS5lbGVtLnN0eWxlLCJvcGFj aXR5IixFLm5vdyl9LF9kZWZhdWx0OmZ1bmN0aW9uKEUpe2lmKEUuZWxlbS5zdHls ZSYmRS5lbGVtLnN0eWxlW0UucHJvcF0hPW51bGwpe0UuZWxlbS5zdHlsZVtFLnBy b3BdPUUubm93K0UudW5pdH1lbHNle0UuZWxlbVtFLnByb3BdPUUubm93fX19fSk7 aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVj dCl7by5mbi5vZmZzZXQ9ZnVuY3Rpb24oKXtpZighdGhpc1swXSl7cmV0dXJue3Rv cDowLGxlZnQ6MH19aWYodGhpc1swXT09PXRoaXNbMF0ub3duZXJEb2N1bWVudC5i b2R5KXtyZXR1cm4gby5vZmZzZXQuYm9keU9mZnNldCh0aGlzWzBdKX12YXIgRz10 aGlzWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEo9dGhpc1swXS5vd25lckRv Y3VtZW50LEY9Si5ib2R5LEU9Si5kb2N1bWVudEVsZW1lbnQsTD1FLmNsaWVudFRv cHx8Ri5jbGllbnRUb3B8fDAsSz1FLmNsaWVudExlZnR8fEYuY2xpZW50TGVmdHx8 MCxJPUcudG9wKyhzZWxmLnBhZ2VZT2Zmc2V0fHxvLmJveE1vZGVsJiZFLnNjcm9s bFRvcHx8Ri5zY3JvbGxUb3ApLUwsSD1HLmxlZnQrKHNlbGYucGFnZVhPZmZzZXR8 fG8uYm94TW9kZWwmJkUuc2Nyb2xsTGVmdHx8Ri5zY3JvbGxMZWZ0KS1LO3JldHVy bnt0b3A6SSxsZWZ0Okh9fX1lbHNle28uZm4ub2Zmc2V0PWZ1bmN0aW9uKCl7aWYo IXRoaXNbMF0pe3JldHVybnt0b3A6MCxsZWZ0OjB9fWlmKHRoaXNbMF09PT10aGlz WzBdLm93bmVyRG9jdW1lbnQuYm9keSl7cmV0dXJuIG8ub2Zmc2V0LmJvZHlPZmZz ZXQodGhpc1swXSl9by5vZmZzZXQuaW5pdGlhbGl6ZWR8fG8ub2Zmc2V0LmluaXRp YWxpemUoKTt2YXIgSj10aGlzWzBdLEc9Si5vZmZzZXRQYXJlbnQsRj1KLE89Si5v d25lckRvY3VtZW50LE0sSD1PLmRvY3VtZW50RWxlbWVudCxLPU8uYm9keSxMPU8u ZGVmYXVsdFZpZXcsRT1MLmdldENvbXB1dGVkU3R5bGUoSixudWxsKSxOPUoub2Zm c2V0VG9wLEk9Si5vZmZzZXRMZWZ0O3doaWxlKChKPUoucGFyZW50Tm9kZSkmJkoh PT1LJiZKIT09SCl7TT1MLmdldENvbXB1dGVkU3R5bGUoSixudWxsKTtOLT1KLnNj cm9sbFRvcCxJLT1KLnNjcm9sbExlZnQ7aWYoSj09PUcpe04rPUoub2Zmc2V0VG9w LEkrPUoub2Zmc2V0TGVmdDtpZihvLm9mZnNldC5kb2VzTm90QWRkQm9yZGVyJiYh KG8ub2Zmc2V0LmRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzJiYvXnQoYWJs ZXxkfGgpJC9pLnRlc3QoSi50YWdOYW1lKSkpe04rPXBhcnNlSW50KE0uYm9yZGVy VG9wV2lkdGgsMTApfHwwLEkrPXBhcnNlSW50KE0uYm9yZGVyTGVmdFdpZHRoLDEw KXx8MH1GPUcsRz1KLm9mZnNldFBhcmVudH1pZihvLm9mZnNldC5zdWJ0cmFjdHNC b3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGUmJk0ub3ZlcmZsb3chPT0idmlzaWJs ZSIpe04rPXBhcnNlSW50KE0uYm9yZGVyVG9wV2lkdGgsMTApfHwwLEkrPXBhcnNl SW50KE0uYm9yZGVyTGVmdFdpZHRoLDEwKXx8MH1FPU19aWYoRS5wb3NpdGlvbj09 PSJyZWxhdGl2ZSJ8fEUucG9zaXRpb249PT0ic3RhdGljIil7Tis9Sy5vZmZzZXRU b3AsSSs9Sy5vZmZzZXRMZWZ0fWlmKEUucG9zaXRpb249PT0iZml4ZWQiKXtOKz1N YXRoLm1heChILnNjcm9sbFRvcCxLLnNjcm9sbFRvcCksSSs9TWF0aC5tYXgoSC5z Y3JvbGxMZWZ0LEsuc2Nyb2xsTGVmdCl9cmV0dXJue3RvcDpOLGxlZnQ6SX19fW8u b2Zmc2V0PXtpbml0aWFsaXplOmZ1bmN0aW9uKCl7aWYodGhpcy5pbml0aWFsaXpl ZCl7cmV0dXJufXZhciBMPWRvY3VtZW50LmJvZHksRj1kb2N1bWVudC5jcmVhdGVF bGVtZW50KCJkaXYiKSxILEcsTixJLE0sRSxKPUwuc3R5bGUubWFyZ2luVG9wLEs9 JzxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDttYXJn aW46MDtib3JkZXI6NXB4IHNvbGlkICMwMDA7cGFkZGluZzowO3dpZHRoOjFweDto ZWlnaHQ6MXB4OyI+PGRpdj48L2Rpdj48L2Rpdj48dGFibGUgc3R5bGU9InBvc2l0 aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDttYXJnaW46MDtib3JkZXI6NXB4IHNv bGlkICMwMDA7cGFkZGluZzowO3dpZHRoOjFweDtoZWlnaHQ6MXB4OyIgY2VsbHBh ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj48dHI+PHRkPjwvdGQ+PC90cj48L3Rh YmxlPic7TT17cG9zaXRpb246ImFic29sdXRlIix0b3A6MCxsZWZ0OjAsbWFyZ2lu OjAsYm9yZGVyOjAsd2lkdGg6IjFweCIsaGVpZ2h0OiIxcHgiLHZpc2liaWxpdHk6 ImhpZGRlbiJ9O2ZvcihFIGluIE0pe0Yuc3R5bGVbRV09TVtFXX1GLmlubmVySFRN TD1LO0wuaW5zZXJ0QmVmb3JlKEYsTC5maXJzdENoaWxkKTtIPUYuZmlyc3RDaGls ZCxHPUguZmlyc3RDaGlsZCxJPUgubmV4dFNpYmxpbmcuZmlyc3RDaGlsZC5maXJz dENoaWxkO3RoaXMuZG9lc05vdEFkZEJvcmRlcj0oRy5vZmZzZXRUb3AhPT01KTt0 aGlzLmRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzPShJLm9mZnNldFRvcD09 PTUpO0guc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsSC5zdHlsZS5wb3NpdGlvbj0i cmVsYXRpdmUiO3RoaXMuc3VidHJhY3RzQm9yZGVyRm9yT3ZlcmZsb3dOb3RWaXNp YmxlPShHLm9mZnNldFRvcD09PS01KTtMLnN0eWxlLm1hcmdpblRvcD0iMXB4Ijt0 aGlzLmRvZXNOb3RJbmNsdWRlTWFyZ2luSW5Cb2R5T2Zmc2V0PShMLm9mZnNldFRv cD09PTApO0wuc3R5bGUubWFyZ2luVG9wPUo7TC5yZW1vdmVDaGlsZChGKTt0aGlz LmluaXRpYWxpemVkPXRydWV9LGJvZHlPZmZzZXQ6ZnVuY3Rpb24oRSl7by5vZmZz ZXQuaW5pdGlhbGl6ZWR8fG8ub2Zmc2V0LmluaXRpYWxpemUoKTt2YXIgRz1FLm9m ZnNldFRvcCxGPUUub2Zmc2V0TGVmdDtpZihvLm9mZnNldC5kb2VzTm90SW5jbHVk ZU1hcmdpbkluQm9keU9mZnNldCl7Rys9cGFyc2VJbnQoby5jdXJDU1MoRSwibWFy Z2luVG9wIix0cnVlKSwxMCl8fDAsRis9cGFyc2VJbnQoby5jdXJDU1MoRSwibWFy Z2luTGVmdCIsdHJ1ZSksMTApfHwwfXJldHVybnt0b3A6RyxsZWZ0OkZ9fX07by5m bi5leHRlbmQoe3Bvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIEk9MCxIPTAsRjtpZih0 aGlzWzBdKXt2YXIgRz10aGlzLm9mZnNldFBhcmVudCgpLEo9dGhpcy5vZmZzZXQo KSxFPS9eYm9keXxodG1sJC9pLnRlc3QoR1swXS50YWdOYW1lKT97dG9wOjAsbGVm dDowfTpHLm9mZnNldCgpO0oudG9wLT1qKHRoaXMsIm1hcmdpblRvcCIpO0oubGVm dC09aih0aGlzLCJtYXJnaW5MZWZ0Iik7RS50b3ArPWooRywiYm9yZGVyVG9wV2lk dGgiKTtFLmxlZnQrPWooRywiYm9yZGVyTGVmdFdpZHRoIik7Rj17dG9wOkoudG9w LUUudG9wLGxlZnQ6Si5sZWZ0LUUubGVmdH19cmV0dXJuIEZ9LG9mZnNldFBhcmVu dDpmdW5jdGlvbigpe3ZhciBFPXRoaXNbMF0ub2Zmc2V0UGFyZW50fHxkb2N1bWVu dC5ib2R5O3doaWxlKEUmJighL15ib2R5fGh0bWwkL2kudGVzdChFLnRhZ05hbWUp JiZvLmNzcyhFLCJwb3NpdGlvbiIpPT0ic3RhdGljIikpe0U9RS5vZmZzZXRQYXJl bnR9cmV0dXJuIG8oRSl9fSk7by5lYWNoKFsiTGVmdCIsIlRvcCJdLGZ1bmN0aW9u KEYsRSl7dmFyIEc9InNjcm9sbCIrRTtvLmZuW0ddPWZ1bmN0aW9uKEgpe2lmKCF0 aGlzWzBdKXtyZXR1cm4gbnVsbH1yZXR1cm4gSCE9PWc/dGhpcy5lYWNoKGZ1bmN0 aW9uKCl7dGhpcz09bHx8dGhpcz09ZG9jdW1lbnQ/bC5zY3JvbGxUbyghRj9IOm8o bCkuc2Nyb2xsTGVmdCgpLEY/SDpvKGwpLnNjcm9sbFRvcCgpKTp0aGlzW0ddPUh9 KTp0aGlzWzBdPT1sfHx0aGlzWzBdPT1kb2N1bWVudD9zZWxmW0Y/InBhZ2VZT2Zm c2V0IjoicGFnZVhPZmZzZXQiXXx8by5ib3hNb2RlbCYmZG9jdW1lbnQuZG9jdW1l bnRFbGVtZW50W0ddfHxkb2N1bWVudC5ib2R5W0ddOnRoaXNbMF1bR119fSk7by5l YWNoKFsiSGVpZ2h0IiwiV2lkdGgiXSxmdW5jdGlvbihJLEcpe3ZhciBFPUk/Ikxl ZnQiOiJUb3AiLEg9ST8iUmlnaHQiOiJCb3R0b20iLEY9Ry50b0xvd2VyQ2FzZSgp O28uZm5bImlubmVyIitHXT1mdW5jdGlvbigpe3JldHVybiB0aGlzWzBdP28uY3Nz KHRoaXNbMF0sRixmYWxzZSwicGFkZGluZyIpOm51bGx9O28uZm5bIm91dGVyIitH XT1mdW5jdGlvbihLKXtyZXR1cm4gdGhpc1swXT9vLmNzcyh0aGlzWzBdLEYsZmFs c2UsSz8ibWFyZ2luIjoiYm9yZGVyIik6bnVsbH07dmFyIEo9Ry50b0xvd2VyQ2Fz ZSgpO28uZm5bSl09ZnVuY3Rpb24oSyl7cmV0dXJuIHRoaXNbMF09PWw/ZG9jdW1l bnQuY29tcGF0TW9kZT09IkNTUzFDb21wYXQiJiZkb2N1bWVudC5kb2N1bWVudEVs ZW1lbnRbImNsaWVudCIrR118fGRvY3VtZW50LmJvZHlbImNsaWVudCIrR106dGhp c1swXT09ZG9jdW1lbnQ/TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50 WyJjbGllbnQiK0ddLGRvY3VtZW50LmJvZHlbInNjcm9sbCIrR10sZG9jdW1lbnQu ZG9jdW1lbnRFbGVtZW50WyJzY3JvbGwiK0ddLGRvY3VtZW50LmJvZHlbIm9mZnNl dCIrR10sZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJvZmZzZXQiK0ddKTpLPT09 Zz8odGhpcy5sZW5ndGg/by5jc3ModGhpc1swXSxKKTpudWxsKTp0aGlzLmNzcyhK LHR5cGVvZiBLPT09InN0cmluZyI/SzpLKyJweCIpfX0pfSkoKTs= ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline; filename=ZeroClipboard.js Content-Type: application/javascript; charset=utf-8; name=ZeroClipboard.js Content-Location: http://localhost/passgen/js/ZeroClipboard.js Content-Transfer-Encoding: Base64 Ly8gU2ltcGxlIFNldCBDbGlwYm9hcmQgU3lzdGVtCi8vIEF1dGhvcjogSm9zZXBo IEh1Y2thYnkKCnZhciBaZXJvQ2xpcGJvYXJkID0gewoJCgl2ZXJzaW9uOiAiMS4w LjUiLAoJY2xpZW50czoge30sIC8vIHJlZ2lzdGVyZWQgdXBsb2FkIGNsaWVudHMg b24gcGFnZSwgaW5kZXhlZCBieSBpZAoJbW92aWVQYXRoOiAnWmVyb0NsaXBib2Fy ZC5zd2YnLCAvLyBVUkwgdG8gbW92aWUKCW5leHRJZDogMSwgLy8gSUQgb2YgbmV4 dCBtb3ZpZQoJCgkkOiBmdW5jdGlvbih0aGluZ3kpIHsKCQkvLyBzaW1wbGUgRE9N IGxvb2t1cCB1dGlsaXR5IGZ1bmN0aW9uCgkJaWYgKHR5cGVvZih0aGluZ3kpID09 ICdzdHJpbmcnKSB0aGluZ3kgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlu Z3kpOwoJCWlmICghdGhpbmd5LmFkZENsYXNzKSB7CgkJCS8vIGV4dGVuZCBlbGVt ZW50IHdpdGggYSBmZXcgdXNlZnVsIG1ldGhvZHMKCQkJdGhpbmd5LmhpZGUgPSBm dW5jdGlvbigpIHsgdGhpcy5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOyB9OwoJCQl0 aGluZ3kuc2hvdyA9IGZ1bmN0aW9uKCkgeyB0aGlzLnN0eWxlLmRpc3BsYXkgPSAn JzsgfTsKCQkJdGhpbmd5LmFkZENsYXNzID0gZnVuY3Rpb24obmFtZSkgeyB0aGlz LnJlbW92ZUNsYXNzKG5hbWUpOyB0aGlzLmNsYXNzTmFtZSArPSAnICcgKyBuYW1l OyB9OwoJCQl0aGluZ3kucmVtb3ZlQ2xhc3MgPSBmdW5jdGlvbihuYW1lKSB7CgkJ CQl0aGlzLmNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lLnJlcGxhY2UoIG5ldyBS ZWdFeHAoIihefFxccyspIiArIG5hbWUgKyAiKFxccyt8JCkiKSwgIiIpLnJlcGxh Y2UoL15ccyt8XHMrJC9nLCAnJyk7CgkJCX07CgkJCXRoaW5neS5oYXNDbGFzcyA9 IGZ1bmN0aW9uKG5hbWUpIHsKCQkJCXJldHVybiAhIXRoaXMuY2xhc3NOYW1lLm1h dGNoKCBuZXcgUmVnRXhwKCJcXHMqIiArIG5hbWUgKyAiXFxzKiIpICk7CgkJCX07 CgkJfQoJCXJldHVybiB0aGluZ3k7Cgl9LAoJCglzZXRNb3ZpZVBhdGg6IGZ1bmN0 aW9uKHBhdGgpIHsKCQkvLyBzZXQgcGF0aCB0byBaZXJvQ2xpcGJvYXJkLnN3ZgoJ CXRoaXMubW92aWVQYXRoID0gcGF0aDsKCX0sCgkKCWRpc3BhdGNoOiBmdW5jdGlv bihpZCwgZXZlbnROYW1lLCBhcmdzKSB7CgkJLy8gcmVjZWl2ZSBldmVudCBmcm9t IGZsYXNoIG1vdmllLCBzZW5kIHRvIGNsaWVudAkJCgkJdmFyIGNsaWVudCA9IHRo aXMuY2xpZW50c1tpZF07CgkJaWYgKGNsaWVudCkgewoJCQljbGllbnQucmVjZWl2 ZUV2ZW50KGV2ZW50TmFtZSwgYXJncyk7CgkJfQoJfSwKCQoJcmVnaXN0ZXI6IGZ1 bmN0aW9uKGlkLCBjbGllbnQpIHsKCQkvLyByZWdpc3RlciBuZXcgY2xpZW50IHRv IHJlY2VpdmUgZXZlbnRzCgkJdGhpcy5jbGllbnRzW2lkXSA9IGNsaWVudDsKCX0s CgkKCWdldERPTU9iamVjdFBvc2l0aW9uOiBmdW5jdGlvbihvYmosIHN0b3BPYmop IHsKCQkvLyBnZXQgYWJzb2x1dGUgY29vcmRpbmF0ZXMgZm9yIGRvbSBlbGVtZW50 CgkJdmFyIGluZm8gPSB7CgkJCWxlZnQ6IDAsIAoJCQl0b3A6IDAsIAoJCQl3aWR0 aDogb2JqLndpZHRoID8gb2JqLndpZHRoIDogb2JqLm9mZnNldFdpZHRoLCAKCQkJ aGVpZ2h0OiBvYmouaGVpZ2h0ID8gb2JqLmhlaWdodCA6IG9iai5vZmZzZXRIZWln aHQKCQl9OwoKCQl3aGlsZSAob2JqICYmIChvYmogIT0gc3RvcE9iaikpIHsKCQkJ aW5mby5sZWZ0ICs9IG9iai5vZmZzZXRMZWZ0OwoJCQlpbmZvLnRvcCArPSBvYmou b2Zmc2V0VG9wOwoJCQlvYmogPSBvYmoub2Zmc2V0UGFyZW50OwoJCX0KCgkJcmV0 dXJuIGluZm87Cgl9LAoJCglDbGllbnQ6IGZ1bmN0aW9uKGVsZW0pIHsKCQkvLyBj b25zdHJ1Y3RvciBmb3IgbmV3IHNpbXBsZSB1cGxvYWQgY2xpZW50CgkJdGhpcy5o YW5kbGVycyA9IHt9OwoJCQoJCS8vIHVuaXF1ZSBJRAoJCXRoaXMuaWQgPSBaZXJv Q2xpcGJvYXJkLm5leHRJZCsrOwoJCXRoaXMubW92aWVJZCA9ICdaZXJvQ2xpcGJv YXJkTW92aWVfJyArIHRoaXMuaWQ7CgkJCgkJLy8gcmVnaXN0ZXIgY2xpZW50IHdp dGggc2luZ2xldG9uIHRvIHJlY2VpdmUgZmxhc2ggZXZlbnRzCgkJWmVyb0NsaXBi b2FyZC5yZWdpc3Rlcih0aGlzLmlkLCB0aGlzKTsKCQkKCQkvLyBjcmVhdGUgbW92 aWUKCQlpZiAoZWxlbSkgdGhpcy5nbHVlKGVsZW0pOwoJfQp9OwoKWmVyb0NsaXBi b2FyZC5DbGllbnQucHJvdG90eXBlID0gewoJCglpZDogMCwgLy8gdW5pcXVlIElE IGZvciB1cwoJcmVhZHk6IGZhbHNlLCAvLyB3aGV0aGVyIG1vdmllIGlzIHJlYWR5 IHRvIHJlY2VpdmUgZXZlbnRzIG9yIG5vdAoJbW92aWU6IG51bGwsIC8vIHJlZmVy ZW5jZSB0byBtb3ZpZSBvYmplY3QKCWNsaXBUZXh0OiAnJywgLy8gdGV4dCB0byBj b3B5IHRvIGNsaXBib2FyZAoJaGFuZEN1cnNvckVuYWJsZWQ6IHRydWUsIC8vIHdo ZXRoZXIgdG8gc2hvdyBoYW5kIGN1cnNvciwgb3IgZGVmYXVsdCBwb2ludGVyIGN1 cnNvcgoJY3NzRWZmZWN0czogdHJ1ZSwgLy8gZW5hYmxlIENTUyBtb3VzZSBlZmZl Y3RzIG9uIGRvbSBjb250YWluZXIKCWhhbmRsZXJzOiBudWxsLCAvLyB1c2VyIGV2 ZW50IGhhbmRsZXJzCgkKCWdsdWU6IGZ1bmN0aW9uKGVsZW0sIGFwcGVuZEVsZW0s IHN0eWxlc1RvQWRkKSB7CgkJLy8gZ2x1ZSB0byBET00gZWxlbWVudAoJCS8vIGVs ZW0gY2FuIGJlIElEIG9yIGFjdHVhbCBET00gZWxlbWVudCBvYmplY3QKCQl0aGlz LmRvbUVsZW1lbnQgPSBaZXJvQ2xpcGJvYXJkLiQoZWxlbSk7CgkJCgkJLy8gZmxv YXQganVzdCBhYm92ZSBvYmplY3QsIG9yIHpJbmRleCA5OSBpZiBkb20gZWxlbWVu dCBpc24ndCBzZXQKCQl2YXIgekluZGV4ID0gOTk7CgkJaWYgKHRoaXMuZG9tRWxl bWVudC5zdHlsZS56SW5kZXgpIHsKCQkJekluZGV4ID0gcGFyc2VJbnQodGhpcy5k b21FbGVtZW50LnN0eWxlLnpJbmRleCwgMTApICsgMTsKCQl9CgkJCgkJaWYgKHR5 cGVvZihhcHBlbmRFbGVtKSA9PSAnc3RyaW5nJykgewoJCQlhcHBlbmRFbGVtID0g WmVyb0NsaXBib2FyZC4kKGFwcGVuZEVsZW0pOwoJCX0KCQllbHNlIGlmICh0eXBl b2YoYXBwZW5kRWxlbSkgPT0gJ3VuZGVmaW5lZCcpIHsKCQkJYXBwZW5kRWxlbSA9 IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF07CgkJfQoJ CQoJCS8vIGZpbmQgWC9ZIHBvc2l0aW9uIG9mIGRvbUVsZW1lbnQKCQl2YXIgYm94 ID0gWmVyb0NsaXBib2FyZC5nZXRET01PYmplY3RQb3NpdGlvbih0aGlzLmRvbUVs ZW1lbnQsIGFwcGVuZEVsZW0pOwoJCQoJCS8vIGNyZWF0ZSBmbG9hdGluZyBESVYg YWJvdmUgZWxlbWVudAoJCXRoaXMuZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu dCgnZGl2Jyk7CgkJdmFyIHN0eWxlID0gdGhpcy5kaXYuc3R5bGU7CgkJc3R5bGUu cG9zaXRpb24gPSAnYWJzb2x1dGUnOwoJCXN0eWxlLmxlZnQgPSAnJyArIGJveC5s ZWZ0ICsgJ3B4JzsKCQlzdHlsZS50b3AgPSAnJyArIGJveC50b3AgKyAncHgnOwoJ CXN0eWxlLndpZHRoID0gJycgKyBib3gud2lkdGggKyAncHgnOwoJCXN0eWxlLmhl aWdodCA9ICcnICsgYm94LmhlaWdodCArICdweCc7CgkJc3R5bGUuekluZGV4ID0g ekluZGV4OwoJCQoJCWlmICh0eXBlb2Yoc3R5bGVzVG9BZGQpID09ICdvYmplY3Qn KSB7CgkJCWZvciAoYWRkZWRTdHlsZSBpbiBzdHlsZXNUb0FkZCkgewoJCQkJc3R5 bGVbYWRkZWRTdHlsZV0gPSBzdHlsZXNUb0FkZFthZGRlZFN0eWxlXTsKCQkJfQoJ CX0KCQkKCQkvLyBzdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAnI2YwMCc7IC8vIGRl YnVnCgkJCgkJYXBwZW5kRWxlbS5hcHBlbmRDaGlsZCh0aGlzLmRpdik7CgkJCgkJ dGhpcy5kaXYuaW5uZXJIVE1MID0gdGhpcy5nZXRIVE1MKCBib3gud2lkdGgsIGJv eC5oZWlnaHQgKTsKCX0sCgkKCWdldEhUTUw6IGZ1bmN0aW9uKHdpZHRoLCBoZWln aHQpIHsKCQkvLyByZXR1cm4gSFRNTCBmb3IgbW92aWUKCQl2YXIgaHRtbCA9ICcn OwoJCXZhciBmbGFzaHZhcnMgPSAnaWQ9JyArIHRoaXMuaWQgKyAKCQkJJyZ3aWR0 aD0nICsgd2lkdGggKyAKCQkJJyZoZWlnaHQ9JyArIGhlaWdodDsKCQkJCgkJaWYg KG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL01TSUUvKSkgewoJCQkvLyBJRSBn ZXRzIGFuIE9CSkVDVCB0YWcKCQkJdmFyIHByb3RvY29sID0gbG9jYXRpb24uaHJl Zi5tYXRjaCgvXmh0dHBzL2kpID8gJ2h0dHBzOi8vJyA6ICdodHRwOi8vJzsKCQkJ aHRtbCArPSAnPG9iamVjdCBjbGFzc2lkPSJjbHNpZDpkMjdjZGI2ZS1hZTZkLTEx Y2YtOTZiOC00NDQ1NTM1NDAwMDAiIGNvZGViYXNlPSInK3Byb3RvY29sKydkb3du bG9hZC5tYWNyb21lZGlhLmNvbS9wdWIvc2hvY2t3YXZlL2NhYnMvZmxhc2gvc3dm bGFzaC5jYWIjdmVyc2lvbj05LDAsMCwwIiB3aWR0aD0iJyt3aWR0aCsnIiBoZWln aHQ9IicraGVpZ2h0KyciIGlkPSInK3RoaXMubW92aWVJZCsnIiBhbGlnbj0ibWlk ZGxlIj48cGFyYW0gbmFtZT0iYWxsb3dTY3JpcHRBY2Nlc3MiIHZhbHVlPSJhbHdh eXMiIC8+PHBhcmFtIG5hbWU9ImFsbG93RnVsbFNjcmVlbiIgdmFsdWU9ImZhbHNl IiAvPjxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9IicrWmVyb0NsaXBib2FyZC5t b3ZpZVBhdGgrJyIgLz48cGFyYW0gbmFtZT0ibG9vcCIgdmFsdWU9ImZhbHNlIiAv PjxwYXJhbSBuYW1lPSJtZW51IiB2YWx1ZT0iZmFsc2UiIC8+PHBhcmFtIG5hbWU9 InF1YWxpdHkiIHZhbHVlPSJiZXN0IiAvPjxwYXJhbSBuYW1lPSJiZ2NvbG9yIiB2 YWx1ZT0iI2ZmZmZmZiIgLz48cGFyYW0gbmFtZT0iZmxhc2h2YXJzIiB2YWx1ZT0i JytmbGFzaHZhcnMrJyIvPjxwYXJhbSBuYW1lPSJ3bW9kZSIgdmFsdWU9InRyYW5z cGFyZW50Ii8+PC9vYmplY3Q+JzsKCQl9CgkJZWxzZSB7CgkJCS8vIGFsbCBvdGhl ciBicm93c2VycyBnZXQgYW4gRU1CRUQgdGFnCgkJCWh0bWwgKz0gJzxlbWJlZCBp ZD0iJyt0aGlzLm1vdmllSWQrJyIgc3JjPSInK1plcm9DbGlwYm9hcmQubW92aWVQ YXRoKyciIGxvb3A9ImZhbHNlIiBtZW51PSJmYWxzZSIgcXVhbGl0eT0iYmVzdCIg Ymdjb2xvcj0iI2ZmZmZmZiIgd2lkdGg9Iicrd2lkdGgrJyIgaGVpZ2h0PSInK2hl aWdodCsnIiBuYW1lPSInK3RoaXMubW92aWVJZCsnIiBhbGlnbj0ibWlkZGxlIiBh bGxvd1NjcmlwdEFjY2Vzcz0iYWx3YXlzIiBhbGxvd0Z1bGxTY3JlZW49ImZhbHNl IiB0eXBlPSJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCIgcGx1Z2luc3Bh Z2U9Imh0dHA6Ly93d3cubWFjcm9tZWRpYS5jb20vZ28vZ2V0Zmxhc2hwbGF5ZXIi IGZsYXNodmFycz0iJytmbGFzaHZhcnMrJyIgd21vZGU9InRyYW5zcGFyZW50IiAv Pic7CgkJfQoJCXJldHVybiBodG1sOwoJfSwKCQoJaGlkZTogZnVuY3Rpb24oKSB7 CgkJLy8gdGVtcG9yYXJpbHkgaGlkZSBmbG9hdGVyIG9mZnNjcmVlbgoJCWlmICh0 aGlzLmRpdikgewoJCQl0aGlzLmRpdi5zdHlsZS5sZWZ0ID0gJy0yMDAwcHgnOwoJ CX0KCX0sCgkKCXNob3c6IGZ1bmN0aW9uKCkgewoJCS8vIHNob3cgb3Vyc2VsdmVz IGFmdGVyIGEgY2FsbCB0byBoaWRlKCkKCQl0aGlzLnJlcG9zaXRpb24oKTsKCX0s CgkKCWRlc3Ryb3k6IGZ1bmN0aW9uKCkgewoJCS8vIGRlc3Ryb3kgY29udHJvbCBh bmQgZmxvYXRlcgoJCWlmICh0aGlzLmRvbUVsZW1lbnQgJiYgdGhpcy5kaXYpIHsK CQkJdGhpcy5oaWRlKCk7CgkJCXRoaXMuZGl2LmlubmVySFRNTCA9ICcnOwoJCQkK CQkJdmFyIGJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9k eScpWzBdOwoJCQl0cnkgeyBib2R5LnJlbW92ZUNoaWxkKCB0aGlzLmRpdiApOyB9 IGNhdGNoKGUpIHs7fQoJCQkKCQkJdGhpcy5kb21FbGVtZW50ID0gbnVsbDsKCQkJ dGhpcy5kaXYgPSBudWxsOwoJCX0KCX0sCgkKCXJlcG9zaXRpb246IGZ1bmN0aW9u KGVsZW0pIHsKCQkvLyByZXBvc2l0aW9uIG91ciBmbG9hdGluZyBkaXYsIG9wdGlv bmFsbHkgdG8gbmV3IGNvbnRhaW5lcgoJCS8vIHdhcm5pbmc6IGNvbnRhaW5lciBD QU5OT1QgY2hhbmdlIHNpemUsIG9ubHkgcG9zaXRpb24KCQlpZiAoZWxlbSkgewoJ CQl0aGlzLmRvbUVsZW1lbnQgPSBaZXJvQ2xpcGJvYXJkLiQoZWxlbSk7CgkJCWlm ICghdGhpcy5kb21FbGVtZW50KSB0aGlzLmhpZGUoKTsKCQl9CgkJCgkJaWYgKHRo aXMuZG9tRWxlbWVudCAmJiB0aGlzLmRpdikgewoJCQl2YXIgYm94ID0gWmVyb0Ns aXBib2FyZC5nZXRET01PYmplY3RQb3NpdGlvbih0aGlzLmRvbUVsZW1lbnQpOwoJ CQl2YXIgc3R5bGUgPSB0aGlzLmRpdi5zdHlsZTsKCQkJc3R5bGUubGVmdCA9ICcn ICsgYm94LmxlZnQgKyAncHgnOwoJCQlzdHlsZS50b3AgPSAnJyArIGJveC50b3Ag KyAncHgnOwoJCX0KCX0sCgkKCXNldFRleHQ6IGZ1bmN0aW9uKG5ld1RleHQpIHsK CQkvLyBzZXQgdGV4dCB0byBiZSBjb3BpZWQgdG8gY2xpcGJvYXJkCgkJdGhpcy5j bGlwVGV4dCA9IG5ld1RleHQ7CgkJaWYgKHRoaXMucmVhZHkpIHRoaXMubW92aWUu c2V0VGV4dChuZXdUZXh0KTsKCX0sCgkKCWFkZEV2ZW50TGlzdGVuZXI6IGZ1bmN0 aW9uKGV2ZW50TmFtZSwgZnVuYykgewoJCS8vIGFkZCB1c2VyIGV2ZW50IGxpc3Rl bmVyIGZvciBldmVudAoJCS8vIGV2ZW50IHR5cGVzOiBsb2FkLCBxdWV1ZVN0YXJ0 LCBmaWxlU3RhcnQsIGZpbGVDb21wbGV0ZSwgcXVldWVDb21wbGV0ZSwgcHJvZ3Jl c3MsIGVycm9yLCBjYW5jZWwKCQlldmVudE5hbWUgPSBldmVudE5hbWUudG9TdHJp bmcoKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL15vbi8sICcnKTsKCQlpZiAoIXRo aXMuaGFuZGxlcnNbZXZlbnROYW1lXSkgdGhpcy5oYW5kbGVyc1tldmVudE5hbWVd ID0gW107CgkJdGhpcy5oYW5kbGVyc1tldmVudE5hbWVdLnB1c2goZnVuYyk7Cgl9 LAoJCglzZXRIYW5kQ3Vyc29yOiBmdW5jdGlvbihlbmFibGVkKSB7CgkJLy8gZW5h YmxlIGhhbmQgY3Vyc29yICh0cnVlKSwgb3IgZGVmYXVsdCBhcnJvdyBjdXJzb3Ig KGZhbHNlKQoJCXRoaXMuaGFuZEN1cnNvckVuYWJsZWQgPSBlbmFibGVkOwoJCWlm ICh0aGlzLnJlYWR5KSB0aGlzLm1vdmllLnNldEhhbmRDdXJzb3IoZW5hYmxlZCk7 Cgl9LAoJCglzZXRDU1NFZmZlY3RzOiBmdW5jdGlvbihlbmFibGVkKSB7CgkJLy8g ZW5hYmxlIG9yIGRpc2FibGUgQ1NTIGVmZmVjdHMgb24gRE9NIGNvbnRhaW5lcgoJ CXRoaXMuY3NzRWZmZWN0cyA9ICEhZW5hYmxlZDsKCX0sCgkKCXJlY2VpdmVFdmVu dDogZnVuY3Rpb24oZXZlbnROYW1lLCBhcmdzKSB7CgkJLy8gcmVjZWl2ZSBldmVu dCBmcm9tIGZsYXNoCgkJZXZlbnROYW1lID0gZXZlbnROYW1lLnRvU3RyaW5nKCku dG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9eb24vLCAnJyk7CgkJCQkKCQkvLyBzcGVj aWFsIGJlaGF2aW9yIGZvciBjZXJ0YWluIGV2ZW50cwoJCXN3aXRjaCAoZXZlbnRO YW1lKSB7CgkJCWNhc2UgJ2xvYWQnOgoJCQkJLy8gbW92aWUgY2xhaW1zIGl0IGlz IHJlYWR5LCBidXQgaW4gSUUgdGhpcyBpc24ndCBhbHdheXMgdGhlIGNhc2UuLi4K CQkJCS8vIGJ1ZyBmaXg6IENhbm5vdCBleHRlbmQgRU1CRUQgRE9NIGVsZW1lbnRz IGluIEZpcmVmb3gsIG11c3QgdXNlIHRyYWRpdGlvbmFsIGZ1bmN0aW9uCgkJCQl0 aGlzLm1vdmllID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5tb3ZpZUlk KTsKCQkJCWlmICghdGhpcy5tb3ZpZSkgewoJCQkJCXZhciBzZWxmID0gdGhpczsK CQkJCQlzZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsgc2VsZi5yZWNlaXZlRXZlbnQo J2xvYWQnLCBudWxsKTsgfSwgMSApOwoJCQkJCXJldHVybjsKCQkJCX0KCQkJCQoJ CQkJLy8gZmlyZWZveCBvbiBwYyBuZWVkcyBhICJraWNrIiBpbiBvcmRlciB0byBz ZXQgdGhlc2UgaW4gY2VydGFpbiBjYXNlcwoJCQkJaWYgKCF0aGlzLnJlYWR5ICYm IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0ZpcmVmb3gvKSAmJiBuYXZpZ2F0 b3IudXNlckFnZW50Lm1hdGNoKC9XaW5kb3dzLykpIHsKCQkJCQl2YXIgc2VsZiA9 IHRoaXM7CgkJCQkJc2V0VGltZW91dCggZnVuY3Rpb24oKSB7IHNlbGYucmVjZWl2 ZUV2ZW50KCdsb2FkJywgbnVsbCk7IH0sIDEwMCApOwoJCQkJCXRoaXMucmVhZHkg PSB0cnVlOwoJCQkJCXJldHVybjsKCQkJCX0KCQkJCQoJCQkJdGhpcy5yZWFkeSA9 IHRydWU7CgkJCQl0aGlzLm1vdmllLnNldFRleHQoIHRoaXMuY2xpcFRleHQgKTsK CQkJCXRoaXMubW92aWUuc2V0SGFuZEN1cnNvciggdGhpcy5oYW5kQ3Vyc29yRW5h YmxlZCApOwoJCQkJYnJlYWs7CgkJCQoJCQljYXNlICdtb3VzZW92ZXInOgoJCQkJ aWYgKHRoaXMuZG9tRWxlbWVudCAmJiB0aGlzLmNzc0VmZmVjdHMpIHsKCQkJCQl0 aGlzLmRvbUVsZW1lbnQuYWRkQ2xhc3MoJ2hvdmVyJyk7CgkJCQkJaWYgKHRoaXMu cmVjb3ZlckFjdGl2ZSkgdGhpcy5kb21FbGVtZW50LmFkZENsYXNzKCdhY3RpdmUn KTsKCQkJCX0KCQkJCWJyZWFrOwoJCQkKCQkJY2FzZSAnbW91c2VvdXQnOgoJCQkJ aWYgKHRoaXMuZG9tRWxlbWVudCAmJiB0aGlzLmNzc0VmZmVjdHMpIHsKCQkJCQl0 aGlzLnJlY292ZXJBY3RpdmUgPSBmYWxzZTsKCQkJCQlpZiAodGhpcy5kb21FbGVt ZW50Lmhhc0NsYXNzKCdhY3RpdmUnKSkgewoJCQkJCQl0aGlzLmRvbUVsZW1lbnQu cmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOwoJCQkJCQl0aGlzLnJlY292ZXJBY3RpdmUg PSB0cnVlOwoJCQkJCX0KCQkJCQl0aGlzLmRvbUVsZW1lbnQucmVtb3ZlQ2xhc3Mo J2hvdmVyJyk7CgkJCQl9CgkJCQlicmVhazsKCQkJCgkJCWNhc2UgJ21vdXNlZG93 bic6CgkJCQlpZiAodGhpcy5kb21FbGVtZW50ICYmIHRoaXMuY3NzRWZmZWN0cykg ewoJCQkJCXRoaXMuZG9tRWxlbWVudC5hZGRDbGFzcygnYWN0aXZlJyk7CgkJCQl9 CgkJCQlicmVhazsKCQkJCgkJCWNhc2UgJ21vdXNldXAnOgoJCQkJaWYgKHRoaXMu ZG9tRWxlbWVudCAmJiB0aGlzLmNzc0VmZmVjdHMpIHsKCQkJCQl0aGlzLmRvbUVs ZW1lbnQucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOwoJCQkJCXRoaXMucmVjb3ZlckFj dGl2ZSA9IGZhbHNlOwoJCQkJfQoJCQkJYnJlYWs7CgkJfSAvLyBzd2l0Y2ggZXZl bnROYW1lCgkJCgkJaWYgKHRoaXMuaGFuZGxlcnNbZXZlbnROYW1lXSkgewoJCQlm b3IgKHZhciBpZHggPSAwLCBsZW4gPSB0aGlzLmhhbmRsZXJzW2V2ZW50TmFtZV0u bGVuZ3RoOyBpZHggPCBsZW47IGlkeCsrKSB7CgkJCQl2YXIgZnVuYyA9IHRoaXMu aGFuZGxlcnNbZXZlbnROYW1lXVtpZHhdOwoJCQkKCQkJCWlmICh0eXBlb2YoZnVu YykgPT0gJ2Z1bmN0aW9uJykgewoJCQkJCS8vIGFjdHVhbCBmdW5jdGlvbiByZWZl cmVuY2UKCQkJCQlmdW5jKHRoaXMsIGFyZ3MpOwoJCQkJfQoJCQkJZWxzZSBpZiAo KHR5cGVvZihmdW5jKSA9PSAnb2JqZWN0JykgJiYgKGZ1bmMubGVuZ3RoID09IDIp KSB7CgkJCQkJLy8gUEhQIHN0eWxlIG9iamVjdCArIG1ldGhvZCwgaS5lLiBbbXlP YmplY3QsICdteU1ldGhvZCddCgkJCQkJZnVuY1swXVsgZnVuY1sxXSBdKHRoaXMs IGFyZ3MpOwoJCQkJfQoJCQkJZWxzZSBpZiAodHlwZW9mKGZ1bmMpID09ICdzdHJp bmcnKSB7CgkJCQkJLy8gbmFtZSBvZiBmdW5jdGlvbgoJCQkJCXdpbmRvd1tmdW5j XSh0aGlzLCBhcmdzKTsKCQkJCX0KCQkJfSAvLyBmb3JlYWNoIGV2ZW50IGhhbmRs ZXIgZGVmaW5lZAoJCX0gLy8gdXNlciBkZWZpbmVkIGhhbmRsZXIgZm9yIGV2ZW50 Cgl9CgkKfTsK ------------RHboaftrZ6vISG4cuYMS5S Content-Disposition: inline; filename=functions.js Content-Type: application/javascript; charset=utf-8; name=functions.js Content-Location: http://localhost/passgen/js/functions.js Content-Transfer-Encoding: Base64 LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLyog ICAgICBKYXZhU2NyaXB0IGJ5IFRvbWFzIFNhcmR5aGEgICAgICAqLw0KLyogICAg ICAgICAgICAoICBEYXJzYWluICApICAgICAgICAgICAgICAqLw0KLyogICAgICgg IGh0dHA6Ly93d3cuZGFyc2Fpbi5uZXQvICApICAgICAqLw0KLyotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKiBMb2FkIFplcm9D bGlwYm9hcmQgKi8NClplcm9DbGlwYm9hcmQuc2V0TW92aWVQYXRoKCAnanMvWmVy b0NsaXBib2FyZC5zd2YnICk7DQp2YXIgY2xpcCA9IG5ldyBaZXJvQ2xpcGJvYXJk LkNsaWVudCgpOw0KICANCi8qIGpRdWVyeSBmdW5jdGlvbnMgKi8NCiQoZnVuY3Rp b24oKSB7DQoNCiAgLyogWmVyb0NsaXBib2FyZCBoYW5kbGluZyAqLw0KICBjbGlw LmdsdWUoICdidXR0b24nICk7DQogIGNsaXAuaGlkZSgpOw0KICANCiAgJCh3aW5k b3cpLnJlc2l6ZShmdW5jdGlvbigpew0KICAgIGNsaXAucmVwb3NpdGlvbigpOw0K ICB9KTsNCiAgDQogIA0KICAvKiBPbmxvYWQgZWZmZWN0cyAqLw0KICAkKCIjcmVz dWx0IikuaGlkZSgpOw0KICANCiAgDQogIC8qIFNvbWVvbmUgaXMgd2F0Y2hpbmcg ZnVuY3Rpb24gKi8NCiAgJCgiI2Zvcm0gPiBzcGFuLnNpdyIpLmNsaWNrKCBmdW5j dGlvbigpIHsNCiAgDQogICAgaWYoICQodGhpcykuaGFzQ2xhc3MoImFjdGl2ZSIp ICl7DQogICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpOw0KICAg ICAgICAkKCIjZm9ybSBpbnB1dCIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAg ICAgIHZhciBpbnB1dE5hbWUgPSAkKHRoaXMpLmF0dHIoIm5hbWUiKTsNCiAgICAg ICAgICB2YXIgaW5wdXRWYWx1ZSA9ICQodGhpcykuYXR0cigidmFsdWUiKTsNCiAg ICAgICAgICAkKHRoaXMpLnJlcGxhY2VXaXRoKCc8aW5wdXQgdHlwZT0idGV4dCIg bmFtZT0iJytpbnB1dE5hbWUrJyIgdmFsdWU9IicraW5wdXRWYWx1ZSsnIj4nKTsN CiAgICAgICAgfSk7DQogICAgfWVsc2V7DQogICAgICAgICQodGhpcykuYWRkQ2xh c3MoImFjdGl2ZSIpOw0KICAgICAgICAkKCIjZm9ybSBpbnB1dCIpLmVhY2goZnVu Y3Rpb24gKCkgew0KICAgICAgICAgIHZhciBpbnB1dE5hbWUgPSAkKHRoaXMpLmF0 dHIoIm5hbWUiKTsNCiAgICAgICAgICB2YXIgaW5wdXRWYWx1ZSA9ICQodGhpcyku YXR0cigidmFsdWUiKTsNCiAgICAgICAgICAkKHRoaXMpLnJlcGxhY2VXaXRoKCc8 aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9IicraW5wdXROYW1lKyciIHZhbHVl PSInK2lucHV0VmFsdWUrJyI+Jyk7DQogICAgICAgIH0pOw0KICAgIH0NCiAgICAN CiAgICAkKCIjZm9ybSA+IGlucHV0IikuYmluZCggImtleXVwIiwgaW5wdXRDaGFu Z2VVcGRhdGUgKTsNCiAgICANCiAgfSApOw0KICANCiAgDQogIC8qIFNlbGVjdCBw YXNzd29yZCBvbiBmb2N1cyAqLw0KICAkKCIjcmVzdWx0IGlucHV0IikuY2xpY2so IGZ1bmN0aW9uKCkgew0KICAgICQodGhpcykuc2VsZWN0KCk7DQogIH0gKTsNCiAg DQogIC8qIEFib3V0IGhhbmRsZXIgKi8NCiAgJCgiYS5hYm91dCIpLmNsaWNrKCBm dW5jdGlvbigpIHsNCiAgICAkKCIjYWJvdXQiKS5mYWRlSW4oKTsNCiAgICByZXR1 cm4gZmFsc2U7DQogIH0gKTsNCiAgDQogICQoIiNhYm91dCIpLmNsaWNrKCBmdW5j dGlvbigpIHsNCiAgICAkKHRoaXMpLmZhZGVPdXQoKTsNCiAgICByZXR1cm4gZmFs c2U7DQogIH0gKTsNCiAgDQogIC8qIEhpbnRzICovDQogICQoIiNmb3JtID4gaW5w dXQiKS5mb2N1cyggZnVuY3Rpb24oKSB7DQogICAgICB2YXIgaGludFZhbHVlID0g JCh0aGlzKS5hdHRyKCJ2YWx1ZSIpOw0KICAgICAgaWYoIGhpbnRWYWx1ZS5sZW5n dGggPT0gMCApIHsNCiAgICAgICAgJCgiI2Zvcm0gPiBkaXYuaGludCIpLmZhZGVP dXQoKTsNCiAgICAgICAgdmFyIGhpbnRJRCA9ICQodGhpcykuYXR0cigibmFtZSIp Ow0KICAgICAgICAkKCIjIitoaW50SUQpLmZhZGVJbigpOw0KICAgICAgfQ0KICB9 ICk7DQogICQoIiNmb3JtID4gaW5wdXQiKS5rZXlkb3duKCBmdW5jdGlvbigpIHsN CiAgICAgICQoIiNmb3JtID4gZGl2LmhpbnQiKS5mYWRlT3V0KCk7DQogIH0gKTsN CiAgJCgiI2Zvcm0gPiBpbnB1dCIpLmJsdXIoIGZ1bmN0aW9uKCkgew0KICAgICAg JCgiI2Zvcm0gPiBkaXYuaGludCIpLmZhZGVPdXQoKTsNCiAgfSApOw0KDQoNCiAg LyogR2VuZXJhdGUgcGFzc3dvcmQgb24gSW5wdXQgY2hhbmdlICovDQogICQoIiNm b3JtID4gaW5wdXQiKS5iaW5kKCAia2V5dXAiLCBpbnB1dENoYW5nZVVwZGF0ZSAp Ow0KDQp9KTsNCg0KDQpmdW5jdGlvbiBlcnJvcihtc2cpIHsNCiAgICAgICQoIiNl cnJvcnMiKS5hcHBlbmQoIjxsaT4iICsgbXNnICsgIjxzcGFuPjwvc3Bhbj48L2xp PiIpLmZpbmQoImxpOmxhc3QiKS5oaWRlKCkuZmFkZUluKCk7DQogICAgICAkKCIj ZXJyb3JzID4gbGkgPiBzcGFuIikuY2xpY2soIGZ1bmN0aW9uKCkgew0KICAgICAg ICAkKHRoaXMpLnBhcmVudCgpLmZhZGVPdXQoImZhc3QiLCBmdW5jdGlvbigpIHsN CiAgICAgICAgICAkKHRoaXMpLnJlbW92ZSgpOw0KICAgICAgICB9ICk7DQogICAg ICB9ICk7DQp9DQoNCg0KZnVuY3Rpb24gaW5wdXRDaGFuZ2VVcGRhdGUoKSB7DQog ICAgICAkKCIjZXJyb3JzID4gbGkiKS5yZW1vdmUoKTsNCiAgDQogICAgICB2YXIg bWFzdGVyID0gJCgiI2Zvcm0gaW5wdXRbbmFtZT0nbWFzdGVyJ10iKS5hdHRyKCJ2 YWx1ZSIpOw0KICAgICAgdmFyIGRvbWFpbiA9ICQoIiNmb3JtIGlucHV0W25hbWU9 J2RvbWFpbiddIikuYXR0cigidmFsdWUiKTsNCiAgICAgIA0KICAgICAgdmFyIGVy cmNvdW50ID0gMDsNCg0KICAgICAgLy8gY2hlY2sgZm9yIHJlcXVpcmVtZW50cw0K ICAgICAgaWYoIG1hc3Rlci5sZW5ndGggPCAzICkgew0KICAgICAgICAgIGVycm9y KCJBdCBsZWFzdCAzIGNoYXJhY3RlcnMgZm9yIDxzdHJvbmc+TWFzdGVyIHBhc3N3 b3JkPC9zdHJvbmc+LCB3b3VsZCB5YT8iKTsNCiAgICAgICAgICBlcnJjb3VudCsr Ow0KICAgICAgfQ0KICAgICAgDQogICAgICBpZiAoIGRvbWFpbi5sZW5ndGggPCA0 IHx8IGRvbWFpbi5sYXN0SW5kZXhPZignLicpID09IC0xIHx8IGRvbWFpbi5sYXN0 SW5kZXhPZignLicpID09IDAgfHwgZG9tYWluLnN1YnN0cmluZyhkb21haW4ubGFz dEluZGV4T2YoJy4nKSkubGVuZ3RoIDwgMyB8fCBkb21haW4uc3Vic3RyaW5nKGRv bWFpbi5sYXN0SW5kZXhPZignLicpKS5sZW5ndGggPiA1ICkgew0KICAgICAgICAg IGVycm9yKCJObyBjYW4gZG8sIGJlY2F1c2UgPHN0cm9uZz4nIiArIGRvbWFpbiAr ICInPC9zdHJvbmc+IGlzIG5vdCBhIHZhbGlkIGRvbWFpbiBuYW1lLiIpOw0KICAg ICAgICAgIGVycmNvdW50Kys7DQogICAgICB9DQoNCiAgICAgIC8vIGlmIGV2ZXJ5 dGhpbmcgaXMgYWxsIHJpZ2h0LCBhY3RpdmUgY29weSBidXR0b24sIGFuZCBnZW5l cmF0ZSBhIHBhc3N3b3JkDQogICAgICBpZiggZXJyY291bnQgPT09IDAgKSB7DQog ICAgICAgICAgJCgiI2J1dHRvbiIpLmFkZENsYXNzKCJnZW5lcmF0ZWQiKTsNCiAg ICAgICAgICBnZW5lcmF0ZSgpOw0KICAgICAgICAgIGNsaXAuc2hvdygpOw0KICAg ICAgfQ0KICAgICAgLy8gb3RoZXJ3aXNlIGRlYWN0aXZhdGUgY29weSBidXR0b24s IGZhZGUgb3V0IHJlc3VsdCwgYW5kIGNsZWFyIGlucHV0IHZhbHVlIGZvciBwYXNz d29yZA0KICAgICAgZWxzZSB7DQogICAgICAgICAgJCgiI2J1dHRvbiIpLnJlbW92 ZUNsYXNzKCJnZW5lcmF0ZWQiKTsNCiAgICAgICAgICAkKCIjcmVzdWx0IikuaGlk ZSgpLmNoaWxkcmVuKCJpbnB1dCIpLmF0dHIoInZhbHVlIiwgIiIpOw0KICAgICAg ICAgIGNsaXAuc2V0VGV4dCggIiIgKTsNCiAgICAgICAgICBjbGlwLmhpZGUoKTsN CiAgICAgIH0NCn0NCg0KDQpmdW5jdGlvbiBnZW5lcmF0ZSgpIHsNCiAgICANCiAg ICB2YXIgbWFzdGVyID0gJCgiI2Zvcm0gaW5wdXRbbmFtZT0nbWFzdGVyJ10iKS5h dHRyKCJ2YWx1ZSIpOw0KICAgIHZhciBkb21haW4gPSAkKCIjZm9ybSBpbnB1dFtu YW1lPSdkb21haW4nXSIpLmF0dHIoInZhbHVlIik7DQogICAgDQogICAgdmFyIHJl c3VsdCA9IG1hc3RlciArIGRvbWFpbjsNCiAgICANCiAgICB2YXIgc2FsdCAgID0g IiI7DQoNCiAgICB2YXIgaSA9IDA7DQogICAgDQogICAgLyogSGFzaCByZXN1bHQg d2l0aCBTSEEyNTYgYWxnb3J5dG0gYW5kIHJlbGF0aXZlIHNhbHQgZm9yICJtYXN0 ZXIubGVuZ3RoIiB0aW1lcyAqLw0KICAgIHdoaWxlKCBpIDwgbWFzdGVyLmxlbmd0 aCApIHsNCiAgICAgIA0KICAgICAgc2FsdCA9IEJhc2U2NC5lbmNvZGUoIFNIQTI1 NiggcmVzdWx0ICkgKTsNCiAgICAgIHJlc3VsdCA9IFNIQTI1NiggcmVzdWx0ICsg c2FsdCApOw0KICAgICAgaSsrOw0KICAgICAgDQogICAgfQ0KICAgIA0KICAgIC8q IEFkZCBzcGVjaWFsIGNoYXJhY3RlcnMgYW5kIHVwcGVyY2FzZSBsZXR0ZXJzICov DQogICAgdmFyIHNwZWNpYWxDaGFycyA9ICJ+IUAjJCVeJio/IjsNCiAgICB2YXIg Y3ljbGVCeSA9IE1hdGgucm91bmQoIGRvbWFpbi5sZW5ndGggLyA0ICk7DQogICAg DQogICAgaWYoIGN5Y2xlQnkgPCAzICkgY3ljbGVCeSA9IDM7DQogICAgaWYoIGN5 Y2xlQnkgPiA2ICkgY3ljbGVCeSA9IDY7DQogICAgDQogICAgaSA9IDA7DQogICAg DQogICAgd2hpbGUoIGkgPD0gcmVzdWx0Lmxlbmd0aCAtIGN5Y2xlQnkgKSB7DQog ICAgDQogICAgICAgIGkgPSBpICsgY3ljbGVCeTsNCiAgICAgICAgDQogICAgICAg IHRlbXBMZXR0ZXIgPSByZXN1bHQuc3Vic3RyKGktMSwxKTsNCiAgICAgICAgdGVt cExldHRlckJlZm9yZSA9IHJlc3VsdC5zdWJzdHIoaS0zLDIpOw0KDQogICAgICAg IGNoZWNrTnVtYmVyID0gcGFyc2VJbnQodGVtcExldHRlcik7DQogICAgICAgIA0K ICAgICAgICBpZiggaXNOYU4oIGNoZWNrTnVtYmVyICkgKSByZXN1bHQgPSByZXN1 bHQucmVwbGFjZSggdGVtcExldHRlckJlZm9yZSArIHRlbXBMZXR0ZXIsIHRlbXBM ZXR0ZXJCZWZvcmUgKyB0ZW1wTGV0dGVyLnRvVXBwZXJDYXNlKCkgKTsNCiAgICAg ICAgZWxzZSByZXN1bHQgPSByZXN1bHQucmVwbGFjZSggdGVtcExldHRlckJlZm9y ZSArIHRlbXBMZXR0ZXIsIHRlbXBMZXR0ZXJCZWZvcmUgKyBzcGVjaWFsQ2hhcnMu Y2hhckF0KGNoZWNrTnVtYmVyKSApOw0KDQogICAgfQ0KICAgIA0KDQogICAgLyog Q3V0IGZpcnN0IDE2IGxldHRlcnMgZm9yIHdlYnNpdGVzIHdpdGggbWF4IHBhc3N3 b3JkIGxlbmd0aCByZXF1aXJlbWVudCAqLw0KICAgIHJlc3VsdDQwID0gcmVzdWx0 LnN1YnN0cmluZygwLDQwKTsNCiAgICByZXN1bHQxNiA9IHJlc3VsdC5zdWJzdHJp bmcoMCwxNik7DQoNCiAgICAvKiBEZWxpdmVyIHBhc3N3b3JkIHRvIHVzZXIgKi8N CiAgICAkKCIjZXJyb3JzID4gbGkiKS5zbGlkZVVwKCJmYXN0IiwgZnVuY3Rpb24o KSB7ICQoIiNlcnJvcnMiKS5lbXB0eSgpIH0gKTsNCiAgICANCiAgICAkKCIjcmVz dWx0IikuZmFkZUluKCk7DQogICAgJCgiI3Jlc3VsdCA+IGgyID4gc3Ryb25nIiku dGV4dChkb21haW4pOw0KICAgIA0KICAgICQoIiNyZXN1bHQgPiBpbnB1dC5mdWxs IikuYXR0ciggInZhbHVlIiwgcmVzdWx0ICk7DQogICAgJCgiI3Jlc3VsdCA+IGlu cHV0LnNob3J0NDAiKS5hdHRyKCAidmFsdWUiLCByZXN1bHQ0MCApOw0KICAgICQo IiNyZXN1bHQgPiBpbnB1dC5zaG9ydDE2IikuYXR0ciggInZhbHVlIiwgcmVzdWx0 MTYgKTsNCiAgICANCiAgICBjbGlwLnNldFRleHQoIHJlc3VsdCApOw0KDQp9DQoN Cg0KLyoqDQoqDQoqICBCYXNlNjQgZW5jb2RlIC8gZGVjb2RlDQoqICBodHRwOi8v d3d3LndlYnRvb2xraXQuaW5mby8NCioNCioqLw0KIA0KdmFyIEJhc2U2NCA9IHsN CiANCgkvLyBwcml2YXRlIHByb3BlcnR5DQoJX2tleVN0ciA6ICJ+IUAjJEFCQ0RF RkdISUpLTE1OT1BRUlNUVVZXWFlaJV4mKmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3 eHl6PzAxMjM0NTY3ODkrLz0iLA0KIA0KCS8vIHB1YmxpYyBtZXRob2QgZm9yIGVu Y29kaW5nDQoJZW5jb2RlIDogZnVuY3Rpb24gKGlucHV0KSB7DQoJCXZhciBvdXRw dXQgPSAiIjsNCgkJdmFyIGNocjEsIGNocjIsIGNocjMsIGVuYzEsIGVuYzIsIGVu YzMsIGVuYzQ7DQoJCXZhciBpID0gMDsNCiANCgkJaW5wdXQgPSBCYXNlNjQuX3V0 ZjhfZW5jb2RlKGlucHV0KTsNCiANCgkJd2hpbGUgKGkgPCBpbnB1dC5sZW5ndGgp IHsNCiANCgkJCWNocjEgPSBpbnB1dC5jaGFyQ29kZUF0KGkrKyk7DQoJCQljaHIy ID0gaW5wdXQuY2hhckNvZGVBdChpKyspOw0KCQkJY2hyMyA9IGlucHV0LmNoYXJD b2RlQXQoaSsrKTsNCiANCgkJCWVuYzEgPSBjaHIxID4+IDI7DQoJCQllbmMyID0g KChjaHIxICYgMykgPDwgNCkgfCAoY2hyMiA+PiA0KTsNCgkJCWVuYzMgPSAoKGNo cjIgJiAxNSkgPDwgMikgfCAoY2hyMyA+PiA2KTsNCgkJCWVuYzQgPSBjaHIzICYg NjM7DQogDQoJCQlpZiAoaXNOYU4oY2hyMikpIHsNCgkJCQllbmMzID0gZW5jNCA9 IDY0Ow0KCQkJfSBlbHNlIGlmIChpc05hTihjaHIzKSkgew0KCQkJCWVuYzQgPSA2 NDsNCgkJCX0NCiANCgkJCW91dHB1dCA9IG91dHB1dCArDQoJCQl0aGlzLl9rZXlT dHIuY2hhckF0KGVuYzEpICsgdGhpcy5fa2V5U3RyLmNoYXJBdChlbmMyKSArDQoJ CQl0aGlzLl9rZXlTdHIuY2hhckF0KGVuYzMpICsgdGhpcy5fa2V5U3RyLmNoYXJB dChlbmM0KTsNCiANCgkJfQ0KIA0KCQlyZXR1cm4gb3V0cHV0Ow0KCX0sDQogDQoJ Ly8gcHVibGljIG1ldGhvZCBmb3IgZGVjb2RpbmcNCglkZWNvZGUgOiBmdW5jdGlv biAoaW5wdXQpIHsNCgkJdmFyIG91dHB1dCA9ICIiOw0KCQl2YXIgY2hyMSwgY2hy MiwgY2hyMzsNCgkJdmFyIGVuYzEsIGVuYzIsIGVuYzMsIGVuYzQ7DQoJCXZhciBp ID0gMDsNCiANCgkJaW5wdXQgPSBpbnB1dC5yZXBsYWNlKC9bXkEtWmEtejAtOVwr XC9cPV0vZywgIiIpOw0KIA0KCQl3aGlsZSAoaSA8IGlucHV0Lmxlbmd0aCkgew0K IA0KCQkJZW5jMSA9IHRoaXMuX2tleVN0ci5pbmRleE9mKGlucHV0LmNoYXJBdChp KyspKTsNCgkJCWVuYzIgPSB0aGlzLl9rZXlTdHIuaW5kZXhPZihpbnB1dC5jaGFy QXQoaSsrKSk7DQoJCQllbmMzID0gdGhpcy5fa2V5U3RyLmluZGV4T2YoaW5wdXQu Y2hhckF0KGkrKykpOw0KCQkJZW5jNCA9IHRoaXMuX2tleVN0ci5pbmRleE9mKGlu cHV0LmNoYXJBdChpKyspKTsNCiANCgkJCWNocjEgPSAoZW5jMSA8PCAyKSB8IChl bmMyID4+IDQpOw0KCQkJY2hyMiA9ICgoZW5jMiAmIDE1KSA8PCA0KSB8IChlbmMz ID4+IDIpOw0KCQkJY2hyMyA9ICgoZW5jMyAmIDMpIDw8IDYpIHwgZW5jNDsNCiAN CgkJCW91dHB1dCA9IG91dHB1dCArIFN0cmluZy5mcm9tQ2hhckNvZGUoY2hyMSk7 DQogDQoJCQlpZiAoZW5jMyAhPSA2NCkgew0KCQkJCW91dHB1dCA9IG91dHB1dCAr IFN0cmluZy5mcm9tQ2hhckNvZGUoY2hyMik7DQoJCQl9DQoJCQlpZiAoZW5jNCAh PSA2NCkgew0KCQkJCW91dHB1dCA9IG91dHB1dCArIFN0cmluZy5mcm9tQ2hhckNv ZGUoY2hyMyk7DQoJCQl9DQogDQoJCX0NCiANCgkJb3V0cHV0ID0gQmFzZTY0Ll91 dGY4X2RlY29kZShvdXRwdXQpOw0KIA0KCQlyZXR1cm4gb3V0cHV0Ow0KIA0KCX0s DQogDQoJLy8gcHJpdmF0ZSBtZXRob2QgZm9yIFVURi04IGVuY29kaW5nDQoJX3V0 ZjhfZW5jb2RlIDogZnVuY3Rpb24gKHN0cmluZykgew0KCQlzdHJpbmcgPSBzdHJp bmcucmVwbGFjZSgvXHJcbi9nLCJcbiIpOw0KCQl2YXIgdXRmdGV4dCA9ICIiOw0K IA0KCQlmb3IgKHZhciBuID0gMDsgbiA8IHN0cmluZy5sZW5ndGg7IG4rKykgew0K IA0KCQkJdmFyIGMgPSBzdHJpbmcuY2hhckNvZGVBdChuKTsNCiANCgkJCWlmIChj IDwgMTI4KSB7DQoJCQkJdXRmdGV4dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGMp Ow0KCQkJfQ0KCQkJZWxzZSBpZigoYyA+IDEyNykgJiYgKGMgPCAyMDQ4KSkgew0K CQkJCXV0ZnRleHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoYyA+PiA2KSB8IDE5 Mik7DQoJCQkJdXRmdGV4dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKChjICYgNjMp IHwgMTI4KTsNCgkJCX0NCgkJCWVsc2Ugew0KCQkJCXV0ZnRleHQgKz0gU3RyaW5n LmZyb21DaGFyQ29kZSgoYyA+PiAxMikgfCAyMjQpOw0KCQkJCXV0ZnRleHQgKz0g U3RyaW5nLmZyb21DaGFyQ29kZSgoKGMgPj4gNikgJiA2MykgfCAxMjgpOw0KCQkJ CXV0ZnRleHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoYyAmIDYzKSB8IDEyOCk7 DQoJCQl9DQogDQoJCX0NCiANCgkJcmV0dXJuIHV0ZnRleHQ7DQoJfSwNCiANCgkv LyBwcml2YXRlIG1ldGhvZCBmb3IgVVRGLTggZGVjb2RpbmcNCglfdXRmOF9kZWNv ZGUgOiBmdW5jdGlvbiAodXRmdGV4dCkgew0KCQl2YXIgc3RyaW5nID0gIiI7DQoJ CXZhciBpID0gMDsNCgkJdmFyIGMgPSBjMSA9IGMyID0gMDsNCiANCgkJd2hpbGUg KCBpIDwgdXRmdGV4dC5sZW5ndGggKSB7DQogDQoJCQljID0gdXRmdGV4dC5jaGFy Q29kZUF0KGkpOw0KIA0KCQkJaWYgKGMgPCAxMjgpIHsNCgkJCQlzdHJpbmcgKz0g U3RyaW5nLmZyb21DaGFyQ29kZShjKTsNCgkJCQlpKys7DQoJCQl9DQoJCQllbHNl IGlmKChjID4gMTkxKSAmJiAoYyA8IDIyNCkpIHsNCgkJCQljMiA9IHV0ZnRleHQu Y2hhckNvZGVBdChpKzEpOw0KCQkJCXN0cmluZyArPSBTdHJpbmcuZnJvbUNoYXJD b2RlKCgoYyAmIDMxKSA8PCA2KSB8IChjMiAmIDYzKSk7DQoJCQkJaSArPSAyOw0K CQkJfQ0KCQkJZWxzZSB7DQoJCQkJYzIgPSB1dGZ0ZXh0LmNoYXJDb2RlQXQoaSsx KTsNCgkJCQljMyA9IHV0ZnRleHQuY2hhckNvZGVBdChpKzIpOw0KCQkJCXN0cmlu ZyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCgoYyAmIDE1KSA8PCAxMikgfCAoKGMy ICYgNjMpIDw8IDYpIHwgKGMzICYgNjMpKTsNCgkJCQlpICs9IDM7DQoJCQl9DQog DQoJCX0NCiANCgkJcmV0dXJuIHN0cmluZzsNCgl9DQogDQp9DQoNCg0KLyoqDQoq DQoqICBTZWN1cmUgSGFzaCBBbGdvcml0aG0gKFNIQTI1NikNCiogIGh0dHA6Ly93 d3cud2VidG9vbGtpdC5pbmZvLw0KKg0KKiAgT3JpZ2luYWwgY29kZSBieSBBbmdl bCBNYXJpbiwgUGF1bCBKb2huc3Rvbi4NCioNCioqLw0KIA0KZnVuY3Rpb24gU0hB MjU2KHMpew0KIA0KCXZhciBjaHJzeiAgID0gODsNCgl2YXIgaGV4Y2FzZSA9IDA7 DQogDQoJZnVuY3Rpb24gc2FmZV9hZGQgKHgsIHkpIHsNCgkJdmFyIGxzdyA9ICh4 ICYgMHhGRkZGKSArICh5ICYgMHhGRkZGKTsNCgkJdmFyIG1zdyA9ICh4ID4+IDE2 KSArICh5ID4+IDE2KSArIChsc3cgPj4gMTYpOw0KCQlyZXR1cm4gKG1zdyA8PCAx NikgfCAobHN3ICYgMHhGRkZGKTsNCgl9DQogDQoJZnVuY3Rpb24gUyAoWCwgbikg eyByZXR1cm4gKCBYID4+PiBuICkgfCAoWCA8PCAoMzIgLSBuKSk7IH0NCglmdW5j dGlvbiBSIChYLCBuKSB7IHJldHVybiAoIFggPj4+IG4gKTsgfQ0KCWZ1bmN0aW9u IENoKHgsIHksIHopIHsgcmV0dXJuICgoeCAmIHkpIF4gKCh+eCkgJiB6KSk7IH0N CglmdW5jdGlvbiBNYWooeCwgeSwgeikgeyByZXR1cm4gKCh4ICYgeSkgXiAoeCAm IHopIF4gKHkgJiB6KSk7IH0NCglmdW5jdGlvbiBTaWdtYTAyNTYoeCkgeyByZXR1 cm4gKFMoeCwgMikgXiBTKHgsIDEzKSBeIFMoeCwgMjIpKTsgfQ0KCWZ1bmN0aW9u IFNpZ21hMTI1Nih4KSB7IHJldHVybiAoUyh4LCA2KSBeIFMoeCwgMTEpIF4gUyh4 LCAyNSkpOyB9DQoJZnVuY3Rpb24gR2FtbWEwMjU2KHgpIHsgcmV0dXJuIChTKHgs IDcpIF4gUyh4LCAxOCkgXiBSKHgsIDMpKTsgfQ0KCWZ1bmN0aW9uIEdhbW1hMTI1 Nih4KSB7IHJldHVybiAoUyh4LCAxNykgXiBTKHgsIDE5KSBeIFIoeCwgMTApKTsg fQ0KIA0KCWZ1bmN0aW9uIGNvcmVfc2hhMjU2IChtLCBsKSB7DQoJCXZhciBLID0g bmV3IEFycmF5KDB4NDI4QTJGOTgsIDB4NzEzNzQ0OTEsIDB4QjVDMEZCQ0YsIDB4 RTlCNURCQTUsIDB4Mzk1NkMyNUIsIDB4NTlGMTExRjEsIDB4OTIzRjgyQTQsIDB4 QUIxQzVFRDUsIDB4RDgwN0FBOTgsIDB4MTI4MzVCMDEsIDB4MjQzMTg1QkUsIDB4 NTUwQzdEQzMsIDB4NzJCRTVENzQsIDB4ODBERUIxRkUsIDB4OUJEQzA2QTcsIDB4 QzE5QkYxNzQsIDB4RTQ5QjY5QzEsIDB4RUZCRTQ3ODYsIDB4RkMxOURDNiwgMHgy NDBDQTFDQywgMHgyREU5MkM2RiwgMHg0QTc0ODRBQSwgMHg1Q0IwQTlEQywgMHg3 NkY5ODhEQSwgMHg5ODNFNTE1MiwgMHhBODMxQzY2RCwgMHhCMDAzMjdDOCwgMHhC RjU5N0ZDNywgMHhDNkUwMEJGMywgMHhENUE3OTE0NywgMHg2Q0E2MzUxLCAweDE0 MjkyOTY3LCAweDI3QjcwQTg1LCAweDJFMUIyMTM4LCAweDREMkM2REZDLCAweDUz MzgwRDEzLCAweDY1MEE3MzU0LCAweDc2NkEwQUJCLCAweDgxQzJDOTJFLCAweDky NzIyQzg1LCAweEEyQkZFOEExLCAweEE4MUE2NjRCLCAweEMyNEI4QjcwLCAweEM3 NkM1MUEzLCAweEQxOTJFODE5LCAweEQ2OTkwNjI0LCAweEY0MEUzNTg1LCAweDEw NkFBMDcwLCAweDE5QTRDMTE2LCAweDFFMzc2QzA4LCAweDI3NDg3NzRDLCAweDM0 QjBCQ0I1LCAweDM5MUMwQ0IzLCAweDRFRDhBQTRBLCAweDVCOUNDQTRGLCAweDY4 MkU2RkYzLCAweDc0OEY4MkVFLCAweDc4QTU2MzZGLCAweDg0Qzg3ODE0LCAweDhD QzcwMjA4LCAweDkwQkVGRkZBLCAweEE0NTA2Q0VCLCAweEJFRjlBM0Y3LCAweEM2 NzE3OEYyKTsNCgkJdmFyIEhBU0ggPSBuZXcgQXJyYXkoMHg2QTA5RTY2NywgMHhC QjY3QUU4NSwgMHgzQzZFRjM3MiwgMHhBNTRGRjUzQSwgMHg1MTBFNTI3RiwgMHg5 QjA1Njg4QywgMHgxRjgzRDlBQiwgMHg1QkUwQ0QxOSk7DQoJCXZhciBXID0gbmV3 IEFycmF5KDY0KTsNCgkJdmFyIGEsIGIsIGMsIGQsIGUsIGYsIGcsIGgsIGksIGo7 DQoJCXZhciBUMSwgVDI7DQogDQoJCW1bbCA+PiA1XSB8PSAweDgwIDw8ICgyNCAt IGwgJSAzMik7DQoJCW1bKChsICsgNjQgPj4gOSkgPDwgNCkgKyAxNV0gPSBsOw0K IA0KCQlmb3IgKCB2YXIgaSA9IDA7IGk8bS5sZW5ndGg7IGkrPTE2ICkgew0KCQkJ YSA9IEhBU0hbMF07DQoJCQliID0gSEFTSFsxXTsNCgkJCWMgPSBIQVNIWzJdOw0K CQkJZCA9IEhBU0hbM107DQoJCQllID0gSEFTSFs0XTsNCgkJCWYgPSBIQVNIWzVd Ow0KCQkJZyA9IEhBU0hbNl07DQoJCQloID0gSEFTSFs3XTsNCiANCgkJCWZvciAo IHZhciBqID0gMDsgajw2NDsgaisrKSB7DQoJCQkJaWYgKGogPCAxNikgV1tqXSA9 IG1baiArIGldOw0KCQkJCWVsc2UgV1tqXSA9IHNhZmVfYWRkKHNhZmVfYWRkKHNh ZmVfYWRkKEdhbW1hMTI1NihXW2ogLSAyXSksIFdbaiAtIDddKSwgR2FtbWEwMjU2 KFdbaiAtIDE1XSkpLCBXW2ogLSAxNl0pOw0KIA0KCQkJCVQxID0gc2FmZV9hZGQo c2FmZV9hZGQoc2FmZV9hZGQoc2FmZV9hZGQoaCwgU2lnbWExMjU2KGUpKSwgQ2go ZSwgZiwgZykpLCBLW2pdKSwgV1tqXSk7DQoJCQkJVDIgPSBzYWZlX2FkZChTaWdt YTAyNTYoYSksIE1haihhLCBiLCBjKSk7DQogDQoJCQkJaCA9IGc7DQoJCQkJZyA9 IGY7DQoJCQkJZiA9IGU7DQoJCQkJZSA9IHNhZmVfYWRkKGQsIFQxKTsNCgkJCQlk ID0gYzsNCgkJCQljID0gYjsNCgkJCQliID0gYTsNCgkJCQlhID0gc2FmZV9hZGQo VDEsIFQyKTsNCgkJCX0NCiANCgkJCUhBU0hbMF0gPSBzYWZlX2FkZChhLCBIQVNI WzBdKTsNCgkJCUhBU0hbMV0gPSBzYWZlX2FkZChiLCBIQVNIWzFdKTsNCgkJCUhB U0hbMl0gPSBzYWZlX2FkZChjLCBIQVNIWzJdKTsNCgkJCUhBU0hbM10gPSBzYWZl X2FkZChkLCBIQVNIWzNdKTsNCgkJCUhBU0hbNF0gPSBzYWZlX2FkZChlLCBIQVNI WzRdKTsNCgkJCUhBU0hbNV0gPSBzYWZlX2FkZChmLCBIQVNIWzVdKTsNCgkJCUhB U0hbNl0gPSBzYWZlX2FkZChnLCBIQVNIWzZdKTsNCgkJCUhBU0hbN10gPSBzYWZl X2FkZChoLCBIQVNIWzddKTsNCgkJfQ0KCQlyZXR1cm4gSEFTSDsNCgl9DQogDQoJ ZnVuY3Rpb24gc3RyMmJpbmIgKHN0cikgew0KCQl2YXIgYmluID0gQXJyYXkoKTsN CgkJdmFyIG1hc2sgPSAoMSA8PCBjaHJzeikgLSAxOw0KCQlmb3IodmFyIGkgPSAw OyBpIDwgc3RyLmxlbmd0aCAqIGNocnN6OyBpICs9IGNocnN6KSB7DQoJCQliaW5b aT4+NV0gfD0gKHN0ci5jaGFyQ29kZUF0KGkgLyBjaHJzeikgJiBtYXNrKSA8PCAo MjQgLSBpJTMyKTsNCgkJfQ0KCQlyZXR1cm4gYmluOw0KCX0NCiANCglmdW5jdGlv biBVdGY4RW5jb2RlKHN0cmluZykgew0KCQlzdHJpbmcgPSBzdHJpbmcucmVwbGFj ZSgvXHJcbi9nLCJcbiIpOw0KCQl2YXIgdXRmdGV4dCA9ICIiOw0KIA0KCQlmb3Ig KHZhciBuID0gMDsgbiA8IHN0cmluZy5sZW5ndGg7IG4rKykgew0KIA0KCQkJdmFy IGMgPSBzdHJpbmcuY2hhckNvZGVBdChuKTsNCiANCgkJCWlmIChjIDwgMTI4KSB7 DQoJCQkJdXRmdGV4dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGMpOw0KCQkJfQ0K CQkJZWxzZSBpZigoYyA+IDEyNykgJiYgKGMgPCAyMDQ4KSkgew0KCQkJCXV0ZnRl eHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoYyA+PiA2KSB8IDE5Mik7DQoJCQkJ dXRmdGV4dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKChjICYgNjMpIHwgMTI4KTsN CgkJCX0NCgkJCWVsc2Ugew0KCQkJCXV0ZnRleHQgKz0gU3RyaW5nLmZyb21DaGFy Q29kZSgoYyA+PiAxMikgfCAyMjQpOw0KCQkJCXV0ZnRleHQgKz0gU3RyaW5nLmZy b21DaGFyQ29kZSgoKGMgPj4gNikgJiA2MykgfCAxMjgpOw0KCQkJCXV0ZnRleHQg Kz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoYyAmIDYzKSB8IDEyOCk7DQoJCQl9DQog DQoJCX0NCiANCgkJcmV0dXJuIHV0ZnRleHQ7DQoJfQ0KIA0KCWZ1bmN0aW9uIGJp bmIyaGV4IChiaW5hcnJheSkgew0KCQl2YXIgaGV4X3RhYiA9IGhleGNhc2UgPyAi MDEyMzQ1Njc4OUFCQ0RFRiIgOiAiMDEyMzQ1Njc4OWFiY2RlZiI7DQoJCXZhciBz dHIgPSAiIjsNCgkJZm9yKHZhciBpID0gMDsgaSA8IGJpbmFycmF5Lmxlbmd0aCAq IDQ7IGkrKykgew0KCQkJc3RyICs9IGhleF90YWIuY2hhckF0KChiaW5hcnJheVtp Pj4yXSA+PiAoKDMgLSBpJTQpKjgrNCkpICYgMHhGKSArDQoJCQloZXhfdGFiLmNo YXJBdCgoYmluYXJyYXlbaT4+Ml0gPj4gKCgzIC0gaSU0KSo4ICApKSAmIDB4Rik7 DQoJCX0NCgkJcmV0dXJuIHN0cjsNCgl9DQogDQoJcyA9IFV0ZjhFbmNvZGUocyk7 DQoJcmV0dXJuIGJpbmIyaGV4KGNvcmVfc2hhMjU2KHN0cjJiaW5iKHMpLCBzLmxl bmd0aCAqIGNocnN6KSk7DQogDQp9DQoNCg== ------------RHboaftrZ6vISG4cuYMS5S--